我有這樣一個表,如何做到這一點沒有while循環SQL
A | B
----------------------
1 | 10
1 | 20
2 | 30
2 | 40
我需要的輸出,
A | B
------------------------
1 | 10,20
2 | 30,40
預先感謝您
我有這樣一個表,如何做到這一點沒有while循環SQL
A | B
----------------------
1 | 10
1 | 20
2 | 30
2 | 40
我需要的輸出,
A | B
------------------------
1 | 10,20
2 | 30,40
預先感謝您
試試這個。
create table #table2(
col1 int,
col2 varchar(10),
)
insert into #table2
select 1, '10' union all
select 1, '20' union all
select 1, '30' union all
select 2, '40' union all
select 2, '50' union all
select 2, '60'
select
col1,
col2 =
stuff((
select
', ' + t2.col2
from #table2 t2
where
t2.col1 = t1.col1
for xml path(''), type).value('.', 'varchar(max)'
), 1, 2, '')
from #table2 t1
GROUP BY t1.col1
GROUP BY,也許是STUFF或GROUP_CONCAT或類似的。列B的哪種數據類型? – jarlh
它的int數據類型 –