sql server 如何列数据横排显示?
本帖最后由 linlingwei 于 2013-12-21 18:38:09 编辑 表数据:
编码 尺寸 数量
01 0.2 2
01 0.2 3
01 0.3 5
02 0.3 1
。。。
如何这样显示
编码 0.2 0.3 ...小计
01 5 5 ... 10
02 0 1 ... 1
.....
sql语句如何实现?
谢谢,着急
[解决办法]
create table a(编码 varchar(10), 尺寸 varchar(10), 数量 int)
insert into a
select '01', '0.2', 2 union all
select '01', '0.2', 3 union all
select '01', '0.3', 5 union all
select '02', '0.3', 1
go
declare @sql varchar(8000)
set @sql = ''
select @sql = @sql +
',sum(case when 尺寸='''+CAST(尺寸 as varchar)+''' then 数量 else 0 end) as [' +
CAST(尺寸 as varchar)+']'
from a
group by 尺寸
select @sql = 'select 编码' + @sql + ',sum(数量) as 小计 from a group by 编码'
exec(@sql)
/*
编码0.20.3小计
015510
02011
*/