create table A1
(
A1_id varchar(10),
A1_name varchar(10)
);
insert into a1 values('A','1');
insert into a1 values('B','1');
insert into a1 values('C','2');
insert into a1 values('D','3');
select * from a1
-- 方法1
select A1_id + '' from a1
for XML Path('') as tlist from a1
select A1_name,
(SELECT A1_id+'' FROM a1
WHERE A1_name=A.A1_name
FOR XML PATH('')) AS StuList
FROM a1 A
GROUP BY A1_name
--方法2
declare @sql varchar(8000),@sql2 varchar(1000)
select @sql=isnull(@sql+',','')+A1_id from a1 group by A1_id
set @sql='select * from a1 pivot (max(A1_id) for A1_id in ('+@sql+'))a'
exec(@sql)
来源:https://www.cnblogs.com/qiuyebei/p/4428489.html