zoukankan      html  css  js  c++  java
  • SQL2000 和 SQL2005 下 行列转换 示例

    1.创建 学生成绩表
    2.填充 部分数据
    3.一般的直接查询
    4.Sql 2000 下 行列转换
    5.Sql 2005 下 PIVOT
    ------------
    /*
    --创建 学生成绩表

    CREATE TABLE [StuSources] (
     [StuID] [char] (10) COLLATE Chinese_PRC_CI_AS NOT NULL ,
     [StuName] [char] (10) COLLATE Chinese_PRC_CI_AS NOT NULL ,
     [KeCheng] [char] (10) COLLATE Chinese_PRC_CI_AS NOT NULL ,
     [ChengJi] [float] NOT NULL
    ) ON [PRIMARY]

    */


    /*
    --填充 部分数据

    INSERT INTO StuSources
    SELECT '001','张三','语文',81
    UNION SELECT  '001','张三','数学',71
    UNION SELECT  '001','张三','历史',71
    UNION SELECT  '002','李四','语文',82
    UNION SELECT  '002','李四','数学',72
    UNION SELECT  '002','李四','历史',72

    */

    /*
    -- 一般的直接查询

    SELECT * FROM StuSources

    -- 结果
    StuID  StuName  KeCheng  ChengJi
    001        张三       历史       71.0
    001        张三       数学       71.0
    001        张三       语文       81.0
    002        李四       历史       72.0
    002        李四       数学       72.0
    002        李四       语文       82.0

    */

    /*
    -- Sql 2000 下 行列转换

    SELECT StuName,
    '语文' = Sum(Case KeCheng WHEN '语文' THEN ChengJi ELSE 0 END ) ,
    '数学' = Sum(Case KeCheng WHEN '数学' THEN ChengJi ELSE 0 END ),
    '历史' = Sum(Case KeCheng WHEN '历史' THEN ChengJi ELSE 0 END )
    FROM StuSources
    GROUP BY StuName

    -- 结果
    StuName  语文 数学 历史
    李四       82.0 72.0 72.0
    张三       81.0 71.0 71.0

    */

    /*
    -- Sql 2005 下 PIVOT 

    SELECT StuName,[语文] AS '语文',
    [数学] AS '数学',[历史] AS '历史'
    FROM StuSources s
    PIVOT (SUM (ChengJi) FOR KeCheng IN ([语文],[数学],[历史]) )AS pvt

    */

  • 相关阅读:
    DP专集
    FJUT ACM 1212 集训队的药药切克闹
    Codecraft-18 and Codeforces Round #458 (Div. 1 + Div. 2, combined) C. Travelling Salesman and Special Numbers (组合数学)
    牛客网 Wannafly挑战赛8 C-小C打比赛 (状压DP)
    HDU 1260 TICKETS (简单DP)
    汇编入门学习笔记 段内转移和段间转移
    汇编入门学习笔记 循环程序设计
    汇编入门学习笔记 分支程序举例
    汇编入门学习笔记 16X+Y
    POJ
  • 原文地址:https://www.cnblogs.com/freeliver54/p/596614.html
Copyright © 2011-2022 走看看