gpt4 book ai didi

sql - Sql Server 中的字符串串联,具有在差异列上排序的不同值

转载 作者:行者123 更新时间:2023-12-02 04:28:53 25 4
gpt4 key购买 nike

我有以下场景,为了简单起见,我为此创建了 fiddle Sql Demo我有案例 id(CaseId),我可以有多个主题 id(CaseSubjId),并且可以随时添加这些案例主题,以便它们的插入顺序由 rowid 维护。“办公室”列显示该特定案例主题的办公位置。我必须以 csv 方式查询连接每个案例 id 的所有位置,以便可以为办公室选择不同的值,并且连接顺序以 rowid asc 顺序维护。

CREATE TABLE TmpTest(CaseId INT,CaseSubjId INT,Office VARCHAR(10),RowId INT) 
INSERT INTO TmpTest(CaseId,CaseSubjId,Office,RowId)VALUES
(1,1,'Kol',1),(1,2,'Del',2),(1,3,'Kol',4),(1,4,'Noi',3),(1,5,'Kol',6),
(1,6,'Bhu',7),(2,11,'Kol',5),(2,12,'Bhu',3),(2,13,'Kol',4),(2,14,'Met',7),
(2,15,'Bhu',1),(2,16,'Met',2)
--OutPut Required:

CaseId | Office
1 | Kol,Del,Noi,Bhu
2 | Bhu,Met,Kol

--Order By Row Id Asc Group By Case Id Concat String In CSV For Office Value

但是输出我将办公室中的所有值连接起来。

最佳答案

试试这个:

select distinct caseid,
STUFF(
(SELECT DISTINCT ',' + tmp.Office
FROM TmpTest AS tmp
WHERE tmp.CaseId = TmpTest.CaseId
FOR XML PATH('')), 1, 1, '')
AS Locations
from TmpTest group by caseid

关于sql - Sql Server 中的字符串串联,具有在差异列上排序的不同值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24794080/

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