发布网友 发布时间:2022-04-11 08:31
共3个回答
热心网友 时间:2022-04-11 10:00
select 班级,sum(case when 品种='铅笔' then 数量 else 0 end) 铅笔,
热心网友 时间:2022-04-11 11:18
select 班级,sum(case when 品种='铅笔' then 数量 else 0 end) as 铅笔热心网友 时间:2022-04-11 12:53
字段里的内容变横向用sql很麻烦,维度不同,万一里面内容越多,需要写的语句就越长追答可以的,上面几个牛人的回答都是ok的,
就是写语句很麻烦,不过可以通过游标把所有内容取出以后输出sql脚本
发现一个更简单的方法,不需要游标
declare @sql varchar(8000)
set @sql = 'select 班级'
select @sql = @sql + ' , sum(case 品种 when ''' + 品种+ ''' then 数量 else 0 end) as [' + 品种+ ']'
from (select distinct 品种 from 表名) as a
set @sql = @sql + ' from 表名 group by 班级'
print @sql