【SQL】將多筆相同鍵值的欄位內容合併--XML PATH
Table A 如下 :
ID Type DESC
1 cpu 處理器
1 cpu 雙核心
1 cpu 800外頻
2 HD 硬碟
2 HD 500G
2 HD 5400轉
希望將欄位內容串接並以【,】分隔,可以利用 XML PATH 來將功能實作,如:
ID Type DESC
1 cpu 處理器,雙核心,800外頻
2 HD 硬碟,500G,5400轉
SELECT T1.id, T1.type,(
SELECT [DESC] + '' FROM @TABLE A T2 WHERE T2.id = T1.id FOR XML PATH('')) AS [DESC]
FROM @TABLE A T1 GROUP BY id, type
STUFF 用法 :
SELECT T1.id, T1.type,(
STUFF( (
SELECT ',' + [DESC]
FROM @TABLE A T2
WHERE T2.id = T1.id
FOR XML PATH('')
), 1, 1, ''
)
) AS [DESC]
FROM @TABLE A T1
GROUP BY id, type
其它應用:
SELECT (
SELECT [Father] + ',' FROM ITT1 T2 WHERE T2.code = T1.code FOR XML PATH('')
) AS [Father] FROM ITT1 T1 where Code='APP04054HX00101' GROUP BY code
終於讓我找到解決方式了,感謝您^^
回覆刪除不客氣 ^^
回覆刪除