ql server 表中如何把ID相同的行的同一个字段值合起来放到另一个字段中。

Gold_1010 2016-07-20 11:34:34
如题

表A
ID STID tag
1 1 11
2 1 2
3 2 23
4 3 12
5 3 11
... ... ...

查询后
STID num
1 11,2
2 23
3 12,11
...全文
89 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
Gold_1010 2016-07-20
  • 打赏
  • 举报
回复
引用 2 楼 ap0405140 的回复:

create table 表A
(ID int,STID int,tag int)

insert into 表A
 select 1,1,11 union all
 select 2,1,2 union all
 select 3,2,23 union all
 select 4,3,12 union all
 select 5,3,11


select STID,
       tag=stuff((select ','+rtrim(b.tag) 
                   from 表A b 
                   where b.STID=a.STID
                   for xml path('')),1,1,'')
 from 表A a
 group by STID
 order by STID

/*
STID        tag
----------- -----------
1           11,2
2           23
3           12,11

(3 row(s) affected)
*/
感谢,我配合自己的表试一下
唐诗三百首 2016-07-20
  • 打赏
  • 举报
回复

create table 表A
(ID int,STID int,tag int)

insert into 表A
 select 1,1,11 union all
 select 2,1,2 union all
 select 3,2,23 union all
 select 4,3,12 union all
 select 5,3,11


select STID,
       tag=stuff((select ','+rtrim(b.tag) 
                   from 表A b 
                   where b.STID=a.STID
                   for xml path('')),1,1,'')
 from 表A a
 group by STID
 order by STID

/*
STID        tag
----------- -----------
1           11,2
2           23
3           12,11

(3 row(s) affected)
*/
Gold_1010 2016-07-20
  • 打赏
  • 举报
回复
查询后 的表的第二个字段应该是tag 手误

22,207

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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