ITPub博客

首页 > Linux操作系统 > Linux操作系统 > sql行数据以列进行显示

sql行数据以列进行显示

原创 Linux操作系统 作者:iSQlServer 时间:2009-02-12 16:58:16 0 删除 编辑
Create   table   test   (name   char(10),km   char(10),cj   int)  
go  
insert   test   values('张三','语文',80)  
insert   test   values('张三','数学',86)  
insert   test   values('张三','英语',75)  
insert   test   values('李四','语文',78)  
insert   test   values('李四','数学',85)  
insert   test   values('李四','英语',78)  

select * from test]
--查询结果
查询结果



----行数据以列进行显示
declare   @sql   varchar(8000)  
set   @sql   =   'select   name'  
select   @sql   =   @sql   +   ',sum(case   km   when   '''+km+'''   then   cj   end)   ['+km+']'  
  from   (select   distinct   km   from   test)   as   a  
select   @sql   =   @sql+'   from   test   group   by   name'  
---执行语句
exec(@sql)  
-----显示结果
行数据以列进行显示


显然后者更加直观

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/16436858/viewspace-548894/,如需转载,请注明出处,否则将追究法律责任。

上一篇: sql 日期格式转换
请登录后发表评论 登录
全部评论

注册时间:2008-10-17

  • 博文量
    1319
  • 访问量
    2088129