zoukankan      html  css  js  c++  java
  • 网上收藏的列转行


    if exists (select * from INFORMATION_SCHEMA.TABLES  where TABLE_NAME ='tb')
    drop table tb
    go
    create table tb(姓名 varchar(10) , 课程 varchar(10) , 分数 int,班级 varchar(10))
    insert into tb values('张三' , '语文' , 74,'1班')
    insert into tb values('张三' , '数学' , 83,'1班')
    insert into tb values('张三' , '物理' , 93,'2班')
    insert into tb values('李四' , '语文' , 74,'2班')
    insert into tb values('李四' , '数学' , 84,'1班')
    insert into tb values('李四' , '物理' , 94,'1班')
    insert into tb values('李四' , '物理' , 100,'1班')
    go
    select * from tb

    go--sql2005
    declare @sql varchar(8000)
    select @sql = isnull(@sql + ',' , '') + 课程 from tb group by 课程
    exec ('select * from (select * from tb) a pivot (max(分数) for 课程 in (' + @sql + ')) b')
    go
    --sql2000
    select 姓名 as 姓名 ,班级,
      max(case 课程 when '语文' then 分数 else 0 end) 语文,
      max(case 课程 when '数学' then 分数 else 0 end) 数学,
      max(case 课程 when '物理' then 分数 else 0 end) 物理
    from tb
    group by 姓名,班级

  • 相关阅读:
    Js内存泄漏的几种情况
    简单工厂模式
    单例模式
    设计模式简介
    百度地图api-动态添加覆盖物
    ArcGIS发布地图服务后直接调用查看方法
    NetCDF 共享软件 中文
    Oracle服务器重命名
    NETCDF入门
    Oracle11gExpress和PL/SQL Developer安装
  • 原文地址:https://www.cnblogs.com/ruonanxiao/p/1792495.html
Copyright © 2011-2022 走看看