您的位置:首页 > 数据库

SQL STUFF函数 拼接字符串

2016-03-22 12:44 441 查看
今日看到一篇文章,是关于和并列的,也研究了下,还是不错的







要这种效果。

create table tb(idint, value varchar(10))

insert into tbvalues(1,'aa')

insert into tbvalues(1,'bb')

insert into tbvalues(2,'aaa')

insert into tbvalues(2,'bbb')

insert into tbvalues(2,'ccc')

go

/* stuff(param1, startIndex, length, param2)
说明:将param1中自startIndex(SQL中都是从1开始,而非0)起,删除length个字符,然后用param2替换删掉的字符。*/

SELECT id,
value = stuff
((SELECT ',' + value
FROM tb AS t
WHERE t .id = tb.id FOR xml path('')), 1, 1, '')
FROM tb
GROUP BY id

这样即可。

例如 两个表 汽车分组表tb_group,和汽车表tb_car

select id, groupname, contace, mobile, begintime, endtime, parkingcount, groupType
,value = stuff((SELECT ',' + plate FROM tb_car AS t WHERE t .groupid = [tb_group].id FOR xml path('')), 1, 1, '')
from [dbo].[tb_group]

结果为
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: