SQL 分组查询,把纵向显示的结果变成横向显示

  /*create table BookLibary([图书馆] varchar(10),     [科目] varchar(10),      [数量] int)
insert into BookLibary
                select     'A',         '语文',         5 
union all select      'B',         '数学',         6 
union all select     'C',         '英语',         3 
union all select     'B',         '语文',         4 
union all select     'A',        '数学',         3 
*/



declare   @exec   varchar ( 8000 )
set   @exec = ' select [图书馆] '
select   @exec = @exec + ' ,max(case when [科目] = ''' +   [ 科目 ]   + '''  then   [数量] else  ''''  end) as  ''' + [ 科目 ] + ''''   from  BookLibary  group   by   [ 科目 ]  
set   @exec = @exec + ' from BookLibary group by [图书馆] '

print   @exec
exec ( @exec )

select   *   from  BookLibary
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值