我的问题:
VALUES: **TABLE A**
ID Number Code
ABC99 1 XYZ0
ABC99 1 XyZ1
ABC99 2 XZY2
ABC99 3 XYZ1
ABC99 3 XwZ4
DEF88 5 QPR1
DEF88 5 QPR2
DEF88 6 QPS1
Desired Out Put:ID应与对应的数字和代码连接不同
输出:
ID Number Code
ABC99 1 XYZ0,XyZ1
ABC99 2 XZY2
ABC99 3 XYZ1,XwZ4
DEF88 5 QPR1,QPR2
DEF88 6 QPS1
输出:ID与唯一编号匹配,并使用逗号分隔多行(代码)到单行(无论它们有多少)。
答案 0 :(得分:0)
declare @t table (
ID varchar(10),
Number int,
Code varchar(10)
)
insert into @t values
('ABC99', 1, 'XYZ0'),
('ABC99', 1, 'XyZ1'),
('ABC99', 2, 'XZY2'),
('ABC99', 3, 'XYZ1'),
('ABC99', 3, 'XwZ4'),
('DEF88', 5, 'QPR1'),
('DEF88', 5, 'QPR2'),
('DEF88', 6, 'QPS1');
select
ID, Number,
stuff((select ',' + Code from @t b
where a.ID = b.ID
and a.Number = b.Number
for XML PATH('')
),1,1,'') Codes
from @t a
group by ID, Number;