日历

2008 8.21 Thu
     12
3456789
10111213141516
17181920212223
24252627282930
31      
«» 2008 - 8 «»

文章搜索

日志文章

2008年07月01日 09:19:45

sql行数据以列进行显示


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)  
-----显示结果
行数据以列进行显示


显然后者更加直观

类别: 数据库 |  评论(2) |  浏览(2321) |  收藏
一共有 2 条评论
20楼 国外服务器 2008年07月14日 10:39:30 Says:
需要租用国外服务器的可以加我Q:756673127
价格合理,质量保证!
19楼 pyq1985 2008年07月04日 08:49:17 Says:
你好 我是出版社的编辑,我看到你博客中的内容,现在正要出版一本SQL的书。如果想把这些内容和更多的人分享,可以和我联系,把这些东西写成书。
我的邮箱:books_522008@yahoo.com.cn
发表评论