jiuquwuyuetian,国债逆回购怎么操作,狐仙王妃
有表如下:
如何获得如下结果:
解法
使用xml转换
代码如下:
(
id int,
body nvarchar(20)
)
go
insert into body values(1,'aaaa')
insert into body values(2,'bbbb')
insert into body values(1,'cccccc')
insert into body values(3,'ddddd')
go
select * from body
select distinct a.id,stuff((select ','+body from body where id=a.id for xml path('')),1,1,'') asbody
from
body a
--具体思路是这样的:
select ','+body from body where id=a.id for xml path('')
--这条语句的作用是按照a中的id查找body表中id=a.id的所有记录,并把它转换成一个xml(关于将查询集转换成xml的文章,你可以去看看)
stuff((select ','+body from body where id=a.id for xml path('')),1,1,'')
--这条语句的作用是把生成的xml前面的一个逗号去掉并转化成标量值
--最后用一个distinct去掉重复的记录
如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复
数据库SQL---数据库、基本表、视图、索引的定义、修改、删除
在 Azure CentOS VM 中配置 SQL Server 2019 AG - (上)
在 Azure CentOS VM 中配置 SQL Server 2019 AG - (下)
网友评论