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