sql 行转列问题 case when 条件不确定
表是这样的一个 需要行转列
create table aaa (id int,id2 int,num varchar(4))
go
insert into aaa select 1,2,'a'
union all select 1,3,'b'
union all select 1,5,'c'
union all select 1,8,'d'
union all select 2,9,'e'
union all select 2,11,'f'
union all select 2,23,'g'
union all select 2,24,'h'
union all select 4,23,'i'
select * from aaa
go
drop table aaa
---------------------------
想要的结果是
id id2x1 id2x2 id2x3 id2x4
1 a b c d
2 e f g h
4 i
就是把id相同 id2不相同 组成一行。。
如果是平时的 case when id2= xx 就可以。现在id2不是固定的。只是想把id相同的横向显示一下 id2x1 列就是第一行id=2的数据,id2x2 列就是第二行id=2的数据,
id3x1 列就是第三行id=2的数据。
最多不会超过7列。