gpt4 book ai didi

sql - 多行合并为单行并合并列 SQL

转载 作者:行者123 更新时间:2023-12-02 12:13:32 26 4
gpt4 key购买 nike

我试图让此 View 查询两个表,然后将每个程序 ID 与 AttributeNames 列中的所有 AttributeName 一起汇总到一行

我加入了这两个表,它提取了适当数量的记录。
现在,这部分我需要的就是将它们汇总起来,其中每个 ProgramID 占一行,并且所有 AttributeNames 一起位于每个 id 的 AttributeNames 列中。

示例:全部在一行中。

ProgramID      | AttributeNames
887 | Studydesign, Control Groups, Primary Outcomes.

这是我需要修改的 SQL View 的图像,以便它执行以下操作: enter image description here

查询:

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,1,'') as AttributeNames
from (select distinct programid
from Table1 )t

查看我的sql fiddle

结果

PROGRAMID   ATTRIBUTENAMES
887 Study Design,Control Groups,Primary Outcomes

关于sql - 多行合并为单行并合并列 SQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22919259/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com