Sql 将多行值转换为一行值
我有下表 Id | dwCode| PRNo | ----------------------- 1 DW001 PR001 2 DW001 PR002 Id | dwCode | PRNo| ----------------------- 1 DW001 PR001 2 DW001 PR002 我需要以下结果: dwCode| PRNo | ----------------------- DW001 PR001,PR002 dwCode | PRNo| ----------------------- DW001 PR001,PR002 使用MS SQL Server 2005是否有任何短方法可以像这样转换数据?您可以使用:Sql 将多行值转换为一行值,sql,sql-server,tsql,Sql,Sql Server,Tsql,我有下表 Id | dwCode| PRNo | ----------------------- 1 DW001 PR001 2 DW001 PR002 Id | dwCode | PRNo| ----------------------- 1 DW001 PR001 2 DW001 PR002 我需要以下结果: dwCode| PRNo | ----------------------- DW001 PR001,PR002 dwCode | PRNo| -----
SELECT
t1.dwCode,
STUFF((
SELECT ', ' + t2.PRNo
FROM Table1 t2
WHERE t2.dwCode = t1.dwCode
FOR XML PATH (''))
,1,2,'') AS PRNo
FROM Table1 t1
GROUP BY t1.dwCode;
请在此处查看它的实际操作: