zoukankan      html  css  js  c++  java
  • SQL Server之纵表与横表互转

    1,纵表转横表

    纵表结构 Table_A:

    转换后的结构:

    纵表转横表的SQL示例:

    SELECT  Name ,
            SUM(CASE WHEN Course = N'语文' THEN Grade
                     ELSE 0
                END) AS Chinese ,
            SUM(CASE WHEN Course = N'数学' THEN Grade
                     ELSE 0
                END) AS Mathematics ,
            SUM(CASE WHEN Course = N'英语' THEN Grade
                     ELSE 0
                END) AS English
    FROM    dbo.Table_A
    GROUP BY Name

    2,横表转纵表

    横表结构Table_B:

    转换后的表结构:

    横表转纵表的SQL示例:

    SELECT  Name ,
            'Chinese' AS Course ,
            Chinese AS Score
    FROM    dbo.Table_B
    UNION ALL
    SELECT  Name ,
            'Mathematics' AS Course ,
            Mathematics AS Score
    FROM    dbo.Table_B
    UNION ALL
    SELECT  Name ,
            'English' AS Course ,
            English AS Score
    FROM    dbo.Table_B
    ORDER BY Name ,
            Course DESC

  • 相关阅读:
    linux学习笔记(十四)
    linux学习笔记(十三)
    linux学习笔记(十二)
    linux学习笔记(十一)
    linux学习笔记(十)
    linux学习笔记(九)
    linux学习笔记(八)
    linux学习笔记(七)
    linux学习笔记(六)
    linux学习笔记(五)
  • 原文地址:https://www.cnblogs.com/joesphos/p/5880354.html
Copyright © 2011-2022 走看看