zoukankan      html  css  js  c++  java
  • 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
     
    */
     
     
     
     
  • 相关阅读:
    循环
    if条件语句
    中文字符,全角字符的正则表达式
    常用正则表达式大全!(例如:匹配中文、匹配html)
    PHP中$_SERVER的详细参数与说明
    IIS 伪静态配置(安装ISAPI_Rewrite配置)
    iis php 服务器设置问题
    Apache Rewrite 拟静态配置
    DEDE时间
    DEDE 字符串操作常见问题
  • 原文地址:https://www.cnblogs.com/wenjl520/p/1445782.html
Copyright © 2011-2022 走看看