我有一个表格,其中包含ClientID
的2列clientDetails及其关联的BranchCode
在不同的列中。
我需要一个表格,该表格中包含此表中不同分支的表格。所有与此分支相关联的clientid在另一列中与','分开。
例如>
表1:
Branch | ClientIDs
B001 | CLI001
B001 | CLI002
B001 | CLI003
需要的结果:
Branch | ClientIDs
B001 | CLI001,CLI002,CLI003
将这些数据作为记录计数的最佳优化方法可能是非常大的。 我需要这些列来绑定一个win形式的2个组合框。
的问候, 阿希什
答案 0 :(得分:3)
您可能正在寻找Group_concat
SELECT BRANCH,
Group_concat(clientids)
FROM TABLE
GROUP BY BRANCH;
的 Fiddle 强> 的
答案 1 :(得分:3)
在SQL Server 2008中,
SELECT BRANCH,
Stuff((SELECT ',' + CLIENTIDS
FROM CLIENTDETAILS a
WHERE a.BRANCH = t.BRANCH
FOR xml path('')), 1, 1, '') AS ClientId
FROM CLIENTDETAILS t
GROUP BY BRANCH