将多行合并为一行并组合列SQL
发布时间:2020-05-28 17:36:58 所属栏目:MsSql 来源:互联网
导读:我试图让这个视图查询两个表,然后将每个程序ID汇总到一行,其中所有AttributeNames都在AttributeNames列中 我加入了这两个表,它提取了适当数量的记录. 现在,我需要的部分就是将每个ProgramID和一个所有AttributeNames一起放在每个id的AttributeNames列中. 示例
|
我试图让这个视图查询两个表,然后将每个程序ID汇总到一行,其中所有AttributeNames都在AttributeNames列中 我加入了这两个表,它提取了适当数量的记录. 示例:全部在一行中. ProgramID | AttributeNames 887 | Studydesign,Control Groups,Primary Outcomes. 这是我需要修改的SQL VIEW的图像,所以它执行此操作: 查询: SELECT TOP (100) PERCENT dbo.tblProgramAttributes.ProgramID,dbo.tblProgramAttributes.AttributeID AS PAattributeID,dbo.tblAttributes.AttributeID,dbo.tblAttributes.AttributeName
FROM dbo.tblProgramAttributes INNER JOIN
dbo.tblAttributes
ON dbo.tblProgramAttributes.AttributeID = dbo.tblAttributes.AttributeID
WHERE (dbo.tblProgramAttributes.AttributeID NOT LIKE '%ProgramType%')
ORDER BY dbo.tblProgramAttributes.ProgramID DESC
解决方法select ProgramId,stuff(
(
select ','+ [attributename]
from Table1
where programid = t.programid for XML path('')
),1,'') as AttributeNames
from (select distinct programid
from Table1 )t
看看我的sql fiddle 结果 PROGRAMID ATTRIBUTENAMES 887 Study Design,Primary Outcomes (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
