zoukankan      html  css  js  c++  java
  • SqlServer2000下实现行列转换

    SqlServer2000下实现行列转换  

    2011-04-06 22:07:07|  分类: SQL Server |  标签:sqlserver  2000  行列转换  sql  |举报|字号 订阅

     
     
    create table tb(姓名 nvarchar(50),课程 nvarchar(50),分数 int)

    insert into tb values('张三' , '语文' , 74)
    insert into tb values('张三' , '数学' , 83)
    insert into tb values('张三' , '物理' , 93)
    insert into tb values('李四' , '语文' , 74)
    insert into tb values('李四' , '数学' , 84)
    insert into tb values('李四' , '物理' , 94)
    1.静态实现
    select 姓名,
              max( case 课程 when '语文'  then  
    分数  else 0 end) as 语文,
              
    max( case 课程 when '数学'  then  分数  else 0 end) as 数学,
              
    max( case 课程 when '物理'  then  分数  else 0 end) as 物理
    from tb group by 姓名
    2.动态实现
    declare @sql nvarchar(500)
    set @sql='select 姓名'

    select @sql=@sql+',max(case 课程 when '''+课程+''' then 分数 else 0 end )  '+课程+''   --这句话不太理解 
    from (select distinct 课程 from tb) as a 

    set @sql=@sql+' from tb group by 姓名'
    exec(@sql)
     
     
     
    阅读(459)| 评论(0
    ——当我们面对枯燥窘迫甚至是痛苦的生活时,只是缺少了提枪上阵去干他娘的勇气!
  • 相关阅读:
    RLP
    Merkle Patricia Tree (MPT) 树详解
    Patricia Tree
    Merkle Tree学习
    mongodb 范围查找
    mongodb _id 组成
    mongodb 时间戳转_id
    mongdi db _id 转时间戳
    js中的filter
    js中的filter
  • 原文地址:https://www.cnblogs.com/vakeynb/p/3967965.html
Copyright © 2011-2022 走看看