我有一个有这种结构的表
ID Word description
-------------------------------
1 book a lot of paper
2 book a thing
3 book an amazing thing
4 tv television
我想将此表格转换为:
ID Word description
-------------------------------
1 book a lot of paper,a thing,an amazing thing
2 tv television
请注意:
- 最大重复次数为6次
- 我希望有一个没有重复行的表,我想将所有重复的行合并到一行,包含所有描述值。
感谢您的帮助...
答案 0 :(得分:3)
你可以试试这个:
SELECT
ROW_NUMBER() OVER(ORDER BY (SELECT NULL)) AS Id,
*
FROM (
SELECT DISTINCT Word,
STUFF((SELECT ',' + description
FROM Your_Table
WHERE Word = T.Word
FOR XML PATH('')), 1, 1, '') AS description
FROM Your_Table T) AS A
答案 1 :(得分:0)
在你的查询中,你应该按字分组并按描述连接
在mysql上测试过这个,不确定它是否可以在sql server上运行
SELECT id, GROUP_CONCAT(description SEPARATOR ', ')
FROM tablename GROUP BY word
和mssql服务器 尝试@mdahlman提供的答案