纵表与横表互转的SQL
来源:互联网 发布:m4与m16的区别知乎 编辑:程序博客网 时间:2024/04/28 09:54
现把转换方法列举如下:
1、纵表转横表:
纵表结构 TableA
Name
Course
Grade
张三
语文
75
张三
数学
80
张三
英语
90
李四
语文
95
李四
数学
55
横表结构 TableB
Name
语文
数学
英语
张三
75
80
90
李四
95
55
0
方法一:
select Name,
sum(case Course when ‘语文‘ then Grade else 0 end) as 语文,
sum(case Course when ‘数学‘ then Grade else 0 end) as 数学,
sum(case Course when ‘英语‘ then Grade else 0 end) as 英语
from TableA
group by Name
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示例:
SELECT 姓名,'语文' AS 科目,语文 AS 成绩 FROM TEST_H2Z UNION ALL
SELECT 姓名,'数学' AS 科目,数学 AS 成绩 FROM TEST_H2Z UNION ALL
SELECT 姓名,'英语' AS 科目,英语 AS 成绩 FROM TEST_H2Z
ORDER BY 姓名,科目 DESC;
- 纵表与横表互转的SQL
- 纵表与横表互转的SQL
- 纵表与横表互转的SQL
- 纵表与横表互转的SQL
- 纵表与横表互转的SQL
- 纵表与横表互转的sql
- sql 与表结构有关的
- sql与Excel间的“表”对话
- SQL中视图与表的区别
- SQL 与MYSQL与SQL SERVER与ORACLE的关系
- SQL Server 与 SQL Express 的异同
- SQL与T-SQL的区别
- java.sql.*与javax.sql.*的区别
- SQL与My SQL的区别
- 静态SQL与动态SQL的比较
- pl/sql与t-sql的区别
- sql/plus 与 sql/plus的区别
- java.sql.*与javax.sql.*的区别
- nginx的安装
- 新浪微博SSO登录方式及OAUTH2.0认证和获取我的微博
- 流程银行柜面业务系统规划
- 关于gets()字符串的输入流与scanf("%s",s)和cin的区别
- JSP基础知识
- 纵表与横表互转的SQL
- 用Python访问SqlServer
- The Layered Driver Model
- using pyodbc on ubuntu to insert a image field on SQL Server
- svn常见错误 解决办法
- 在iOS8创建一个交互性强的本地通知
- Android应用程序组件Content Provider在应用程序之间共享数据的原理分析
- 编绎显示Unknown type name “NSData” 错误解决方法
- String,运算符,程序结构,break与continue