首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

sql server 怎么列数据横排显示

2013-12-22 
sql server 如何列数据横排显示?本帖最后由 linlingwei 于 2013-12-21 18:38:09 编辑表数据:编码尺寸数量0

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

热点排行