请问一下大家,有点特殊的列转字符串的有关问题,在坛子里找了一下,没找到解决办法

请教一下大家,有点特殊的列转字符串的问题,在坛子里找了一下,没找到解决方法
本帖最后由 aken815 于 2015-02-27 16:53:10 编辑
数据如下


1. S001    A01
2. S001    A02
3. S001    A03
4. S002    B01
5. S002    B02

输出临时表的结果如下:

1.S001   A01;A02;A03;
2.S002   B01;B02;
------解决思路----------------------
SQL2005有效

假设表名 TB  S001 那一列 列名为 COL1
另外一列 列名为 COL2
SELECT ROW_NUMBER()OVER(ORDER BY GETDATE())RN
,STUFF(
(SELECT ';'+COL2 FROM TB T2 WHERE T1.COL1=T2.COL1
FOR XML PATH(''))
,1,1,''
)
FROM TB T1
GROUP BY COL1