• SQL2000 和 SQL2005下行列转换示例


    SQL2000 和 SQL2005下行列转换示例 
     

    /*
    --创建 学生成绩表
     
    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
     
    */
     
     
     
     
  • 相关阅读:
    iot 表索引dump《2》
    heap表和iot表排序规则不同
    Cannot complete the install because one or more required items could not be found.
    iot表输出按主键列排序,heap表不是
    iot 表主键存放所有数据,且按数据插入顺序排序
    iot表和heap表排序规则不同
    org.eclipse.graphiti.ui.editor.DiagramEditorInput.
    Oracle 排序规则
    perl 异步超时 打印错误
    14.6.3 Grouping DML Operations with Transactions 组DML操作
  • 原文地址:https://www.cnblogs.com/wenjl520/p/1445782.html
Copyright © 2020-2023  润新知