读书人

sql server 怎么列数据横排显示

发布时间: 2013-12-22 15:06:55 作者: rapoo

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
*/

读书人网 >SQL Server

热点推荐