您的位置:首页 > 数据库 > > 正文

sqlserver的图形表(SQL Server纵表与横表相互转换的方法)

更多 时间:2022-04-01 01:48:08 类别:数据库 浏览量:1042

sqlserver的图形表

SQL Server纵表与横表相互转换的方法

1,纵表转横表

纵表结构 Table_A:

sqlserver的图形表(SQL Server纵表与横表相互转换的方法)

转换后的结构:

sqlserver的图形表(SQL Server纵表与横表相互转换的方法)

纵表转横表的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:

    sqlserver的图形表(SQL Server纵表与横表相互转换的方法)

    转换后的表结构:

    sqlserver的图形表(SQL Server纵表与横表相互转换的方法)

    横表转纵表的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 
    
  •  以上所述是小编给大家介绍的SQL Server纵表与横表相互转换的实现方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对开心学习网网站的支持!

    您可能感兴趣