1

我的表 X 中有 3 列:

身份状态类型
1新泽西表格1
1 纽约表格 2
1 TX 表格 3

我想将它合并到表 Y 中的一列:

Id FormTypes
1 新泽西州:Form1
     纽约:Form2
     德克萨斯州:Form3

这可以实现吗???

目前我已经做了很多:

DECLARE @NewLine as char(2) = char(13) + char (10)

UPDATE tableY

SET FormTypes =
(
      select substring(
         (select ':'+ [State] + ':'+ Type+ @NewLine AS 'data()' 
            from tableX  
            for xml path(''))
      ,3, 255)
as "MyList"  )

这给了我这样的垃圾:

NJ:Form1'&#x0D'; NY:Form2'&#x0D'; TX:Form3'&#x0D';

以这种形式获取它的原因是它在多个文件中被读取的方式。

4

1 回答 1

1
SELECT 
     x2.id, 
     STUFF((SELECT char(10)+x1.State+':'+x1.Type FROM tableX x1 WHERE x1.id=x2.id GROUP BY x1.id for xml path(''),TYPE),1,1,'') as stype 
FROM tableX x2
GROUP BY x2.id

这会给你表格形式

于 2012-05-17T16:29:19.490 回答