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

前端之家收集整理的这篇文章主要介绍了SQL Server纵表与横表相互转换的方法前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

1,纵表转横表

纵表结构 Table_A:

转换后的结构:

纵表转横表的sql示例:

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示例:

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纵表与横表相互转换的实现方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对编程之家网站的支持

猜你在找的MsSQL相关文章