SQL字符列处理的问题

fyming 2018-01-11 06:05:15
CREATE TABLE #0(
F1 NVARCHAR(10),
F2 INT)

INSERT INTO #0(F1,F2)
SELECT 'A01',1 UNION ALL
SELECT 'A01',2 UNION ALL
SELECT 'A02',1 UNION ALL
SELECT 'A03',1 UNION ALL
SELECT 'A04',3

SELECT * FROM #0
---------------------------------
--结果
F1 F2
A01 1
A01 2
A02 1
A03 1
A04 3
---------------------------------
--我希望得到的结果
F1 F2
A01,A02,A03, 1
A01 2
A04 3

也就是说,按F2列对F1列进行合并,如何用一条SQL搞定?

叩谢!!!
...全文
244 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
fyming 2018-01-11
  • 打赏
  • 举报
回复
谢谢老大!测试后确实能用 你的SQLSERVER开发、管理与应用,2000版和2005版我都有买,为啥不见2008之后的版本继续出了?请继续为人民服务别停下啊:D
zjcxc 元老 2018-01-11
  • 打赏
  • 举报
回复
比较旧的版本用这个
SELECT STUFF((	SELECT ',' + F1 FROM #0 b WHERE A.F2=B.F2 FOR XML PATH(''), TYPE
			).value('/', 'nvarchar(max)'), 1, 1, ''),
	F2
From #0 a
group by F2
zjcxc 元老 2018-01-11
  • 打赏
  • 举报
回复
如果你的版本够新,这个可以
SELECT STRING_AGG(F1, ','), F2 From #0 group by F2

34,593

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧