SqlServer中查询出多条记录变成一个记录(行变列) - 音乐啤酒 - 博客园

来源: SqlServer中查询出多条记录变成一个记录(行变列) – 音乐啤酒 – 博客园

碰到一个SQL问题,不知道怎么搞,问了群里面的一个SQL高手 ,夕颜大哥,他使用短短一句sql就实现我的要求,太牛了。原来sql还可以这么神奇,唉,还是怪自己sql不精通。

一个表A,两个字段ID,name,一个ID可能对应多name,要求根据一个ID查询出对应的name,但是不是以多行的形式显示出来,而是以一个行的形式出来,多个name以,分割。
比如 数据
i name
1 a
1 b
1 c
应该查询来的结果是; [a,b,c 1]
sql是这样写的

DECLARE @names varchar(1000)
SET @names = ”
SELECT @names=@names+ISNULL(name, ”)+’,’
FROM A
WHERE id = 1
select @names

用的是sql的所谓自拼接,这是夕颜的说法,大家研究一下,感觉很有意思的。

赞(0) 打赏
分享到: 更多 (0)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏