一个列变行的问题!!!急!!
数据如下:
商品名 分店 数量
1 50 52 40 203 30 30变成
商品名 50(分店) 40 (分店) 30 (分店)
1 5
2 203 30不知道怎样写??????????????
数据如下:
商品名 分店 数量
1 50 52 40 203 30 30变成
商品名 50(分店) 40 (分店) 30 (分店)
1 5
2 203 30不知道怎样写??????????????
insert ta select 1, 50, 5
union all select 2, 40, 20
union all select 3, 30, 30declare @sql varchar(1000)
set @sql=''
select @sql=@sql+',['+rtrim(分店)+'分店'+']=max(case 分店 when '+rtrim(分店)+' then rtrim(数量) else '''' end)'
from ta group by 分店 order by 分店 desc
set @sql='select 商品名'+@sql+' from ta group by 商品名'
exec (@sql)
商品名 50分店 40分店 30分店
----------- ------------ ------------ ------------
1 5
2 20
3 30(3 行受影响)
declare @sql varchar(1000)
set @sql=''
select @sql=@sql+',['+rtrim(分店)+'(分店)'+']=max(case 分店 when '+rtrim(分店)+' then rtrim(数量) else '''' end)'
from ta group by 分店 order by 分店 desc
set @sql='select 商品名'+@sql+' from ta group by 商品名'
exec (@sql)
商品名 50(分店) 40(分店) 30(分店)
----------- ------------ ------------ ------------
1 5
2 20
3 30(3 行受影响)