如果主键相等,我正在尝试返回单个描述,例如,我有这个回复:
CD_TABLE | DS_TABLE | DS_ANOTHER_TABLE
------ | ------ | ------
1 | TEST-01 | TEST-X
2 | TEST-02 | TEST-Y
2 | TEST-02 | TEST-W
3 | TEST-03 | TEST-Z
由于第二列和第三行在第一列是相同的信息,有没有办法以这种方式返回?
CD_TABLE | DS_TABLE | DS_ANOTHER_TABLE
------ | ------ | ------
1 | TEST-01 | TEST-X
2 | TEST-02 | TEST-Y, TEST-W
3 | TEST-03 | TEST-Z
答案 0 :(得分:4)
listagg
功能似乎符合要求:
SELECT cd_table, ds_table,
LISTAGG(ds_another_table, ', ') WITHIN GROUP (ORDER BY ds_another_table)
FROM mytable
GROUP BY cd_table, ds_table