我的表结构如下:
FIELD_A FIELD_B
1 C
1 D
2 E
这是我的表结构和数据。
我希望得到如下结果:
1 C, D
2 E
我使用列表聚合功能在oracle中完成了它,如下所示:
LISTAGG(rtrim(RS.RECAPITO||' '||RS.NOTE), ', ') WITHIN GROUP (ORDER BY rtrim(RS.RECAPITO||' '||RS.NOTE)) TEL
但这不适用于sql。
我怎样才能在sql中执行此操作?
请帮帮我。
答案 0 :(得分:2)
您可以使用STUFF
SELECT
[FIELD_A],
STUFF(
(SELECT ',' + [FIELD_B]
FROM TableName
WHERE [FIELD_A] = a.[FIELD_A]
FOR XML PATH (''))
, 1, 1, '') AS FieldList
FROM TableName AS a
GROUP BY [FIELD_A]