1、纵表转横表:
纵表结构 TableA
横表结构 TableB
方法一:
1: select Name,
2: sum(case Course when ‘语文‘ then Grade else 0 end) as 语文,
3: sum(case Course when ‘数学‘ then Grade else 0 end) as 数学,
4: sum(case Course when ‘英语‘ then Grade else 0 end) as 英语
5: from TableA
6: group by Name
7:
2、横表转纵表的"SQL"示例
横表结构: TEST_H2Z
ID 姓名 语文 数学 英语
1 张三 80 90 70
2 李四 90 85 95
3 王五 88 75 90
转换后的表结构:
ID 姓名 科目 成绩
1 张三 语文 80
2 张三 数学 90
3 张三 英语 70
4 李四 语文 90
5 李四 数学 80
6 李四 英语 99
7 王五 语文 85
8 王五 数学 96
9 王五 英语 88
横表转纵表SQL示例:
1: SELECT 姓名,'语文' AS科目,语文 AS 成绩 FROM TEST_H2Z UNION ALL
2: SELECT 姓名,'数学' AS 科目,数学 AS 成绩 FROM TEST_H2Z UNION ALL
3: SELECT 姓名,'英语' AS 科目,英语 AS 成绩 FROM TEST_H2Z
4: ORDER BY 姓名,科目 DESC;