ORACLE 行列转换SQL
来源:互联网 发布:主板淘宝能买吗 图拉丁 编辑:程序博客网 时间:2024/06/05 06:02
表test
NAME KM CJ
张三 语文 80
张三 数学 86
张三 英语 75
李四 语文 78
李四 数学 85
李四 英语 79
表test2
NAME 语文 数学 英语
张三 80 8675
李四 78 8579
行转列sql ------test->test2
SELECT NAME,
SUM(decode(t.km, '语文', t.cj, 0)) 语文,
SUM(decode(t.km, '数学', t.cj, 0)) 数学,
SUM(decode(t.km, '英语', t.cj, 0)) 英语
FROM test t
GROUP BY t.name
列转行sql ------test2->test
select t.name,'语文' AS km,t.语文 AS cj from test2 t
UNION ALL
select t.name,'数学' AS km,t.数学 AS cj from test2 t
UNION ALL
select t.name,'英语' AS km,t.英语 AS cj from test2 t
ORDER BY name
decode(条件,值1,返回值1,值2,返回值2,...值n,返回值n,缺省值)
该函数的含义如下:
IF 条件=值1 THEN
RETURN(翻译值1)
ELSIF 条件=值2 THEN
RETURN(翻译值2)
......
ELSIF 条件=值n THEN
RETURN(翻译值n)
ELSE
RETURN(缺省值)
END IF
decode(字段或字段的运算,值1,值2,值3)
这个函数运行的结果是,当字段或字段的运算的值等于值1时,该函数返回值2,否则返回值3
当然值1,值2,值3也可以是表达式.
NAME KM CJ
张三 语文 80
张三 数学 86
张三 英语 75
李四 语文 78
李四 数学 85
李四 英语 79
表test2
NAME 语文 数学 英语
张三 80 8675
李四 78 8579
行转列sql ------test->test2
SELECT NAME,
SUM(decode(t.km, '语文', t.cj, 0)) 语文,
SUM(decode(t.km, '数学', t.cj, 0)) 数学,
SUM(decode(t.km, '英语', t.cj, 0)) 英语
FROM test t
GROUP BY t.name
列转行sql ------test2->test
select t.name,'语文' AS km,t.语文 AS cj from test2 t
UNION ALL
select t.name,'数学' AS km,t.数学 AS cj from test2 t
UNION ALL
select t.name,'英语' AS km,t.英语 AS cj from test2 t
ORDER BY name
decode(条件,值1,返回值1,值2,返回值2,...值n,返回值n,缺省值)
该函数的含义如下:
IF 条件=值1 THEN
RETURN(翻译值1)
ELSIF 条件=值2 THEN
RETURN(翻译值2)
......
ELSIF 条件=值n THEN
RETURN(翻译值n)
ELSE
RETURN(缺省值)
END IF
decode(字段或字段的运算,值1,值2,值3)
这个函数运行的结果是,当字段或字段的运算的值等于值1时,该函数返回值2,否则返回值3
当然值1,值2,值3也可以是表达式.
0 0
- ORACLE 行列转换SQL
- sql server和oracle 行列转换
- sql server和oracle 行列转换
- Oracle SQL行列转换应用实例一则
- oracle SQL 固定列 行列转换
- ORACLE行列转换实例
- oracle 行列转换
- 行列转换 oracle
- ORACLE DB行列转换
- oracle行列转换总结
- oracle 行列转换
- 关于oracle行列转换
- oracle 实现行列转换
- oracle行列转换总结
- Oracle 行列转换 总结
- oracle行列转换总结
- oracle行列转换
- oracle 行列转换
- HDU 1035 Robot Motion
- iOS中的下拉刷新SVPullToRefresh
- 测试可用的最简单web.xml
- andorid:HTTP Post 代码
- SRM 621 D1L2: TreesAnalysis,DFS
- ORACLE 行列转换SQL
- snprintf()
- no provisioning profiles with a valid signing identity were found
- eclipse快捷方式
- 【C语言天天练(十一)】深入理解指针
- 黑马程序员_多线程(2)
- 【网络协议】TCP协议简介
- github如何make contribute to 其它开源项目
- 【大话QT之十】实现FTP断点续传