如果使用STUFF和For Xml Path,多列将以相同的顺序连接

时间:2012-05-22 14:00:10

标签: sql sql-server

请参阅http://www.sqlfiddle.com/#!3/fb107/3以获取我想要运行的示例架构和查询。 我想使用STUFF和FOR XML PATH('')解决方案来连接按另一列分组的列。

如果我使用此方法将多个列连接到csv列表中,我保证每个连接字符串中的顺序是相同的吗?所以如果表是:

ID  Col1 Col2 Col3
1   1    1    1   
1   2    2    2
1   3    3    3
2   4    4    4
2   5    5    5
2   5    5    5

我确定如果Col1连接在一起,结果是:

ID Col1Concatenated
1  1,2,3
2  4,5,6

Col2Concatenated也将采用相同的顺序(“1,2,3”,“4,5,6”)而不是(“2,3,1”,“5,6,4”)示例

如果每个连接值中每行值的索引相同,则此解决方案仅适用于我。即第一行在每个csv列表中是第一行,第二行在每个csv列表中是第二行等。

1 个答案:

答案 0 :(得分:1)

您可以在ORDER BY函数

中的查询中添加STUFF子句