从列中分割数据,忽略相同的数据,并将其转换为postgresql中的一行



我正在尝试从列中分离数据,但数据有时会重复。

数据看起来像这样:

TableA
Id  ColumnData
1   Data1,Data2,Data1,Data2,Data3

我想删除重复的ColumnData并将数据转换为行

最后的结果将是这样的:

ID  ColumnData
1   Data1
1   Data2
1   Data3

这是可能的吗?

感谢

以多种方式将分隔的列数据转换为行。

-- PotgreSQL
SELECT DISTINCT
Id, 
regexp_split_to_table(ColumnData, E',') AS ColumnData
FROM TableA

SELECT DISTINCT id, unnest(string_to_array(ColumnData, ',')) ColumnData
FROM TableA

请从url https://dbfiddle.uk/?rdbms=postgres_13&fiddle=80674eeef04888537271340c42d68c85查看

最新更新