oracle decode行列转换
来源:互联网 发布:北京交大网络教育学院 编辑:程序博客网 时间:2024/06/01 14:46
使用decode可以把查到的数据进行行列转换 不需要再去java里处理使很多行数据整合为一条
StringBuffer sql = new StringBuffer(1024); String decodeSql = new String(); List<Map<String,Object>> list = aRDao.getTableHead(liqGapId); list.remove(0); sql.append(" select t.LIQNAME GAP_NAME, "); for(int i=0;i<list.size();i++) { decodeSql += " sum(decode(t.XLIQGAPID, "; decodeSql += list.get(i).get("GAP_ID"); decodeSql += ", t.value, null)) as value"; decodeSql += i; decodeSql += ","; } sql.append(decodeSql.substring(0, decodeSql.length()-1)); sql.append(" from (select mt.Y_LIQ_GAP_ID YLIQGAPID, "); sql.append(" bg.name LIQNAME, "); sql.append(" mt.val VALUE, "); sql.append(" mt.X_LIQ_GAP_ID XLIQGAPID "); sql.append(" from MOD_REAL_GAP_MATRIX_TB mt "); sql.append(" left join BAS_GAP_TB bg "); sql.append(" on mt.Y_LIQ_GAP_ID = bg.id "); sql.append(" where mt.CARD_REAL_ID ="); sql.append(id); sql.append(" order by mt.Y_LIQ_GAP_ID desc, mt.X_LIQ_GAP_ID) t "); sql.append(" group by t.LIQNAME, t.yliqgapid "); sql.append(" order by t.yliqgapid ");
list为你动态获取的表头 就是列
select t.LIQNAME, sum(decode(t.XLIQGAPID, 1704, t.value, null)) as value0, sum(decode(t.XLIQGAPID, 1705, t.value, null)) as value1 from (select mt.Y_LIQ_GAP_ID YLIQGAPID, bg.name LIQNAME, mt.val VALUE, mt.X_LIQ_GAP_ID XLIQGAPID from MOD_REAL_GAP_MATRIX_TB mt left join BAS_GAP_TB bg on mt.Y_LIQ_GAP_ID = bg.id where mt.CARD_REAL_ID = 62 order by mt.Y_LIQ_GAP_ID desc, mt.X_LIQ_GAP_ID) t group by t.LIQNAME, t.yliqgapid order by t.yliqgapid
这是子查询的数据,也就是原来要传到后台进行处理整合的数据
这是通过decode转换成的数据
0 0
- oracle decode行列转换
- Oracle decode函数用法与表的行列转换
- ORACLE行列转换实例
- oracle 行列转换
- 行列转换 oracle
- ORACLE DB行列转换
- oracle行列转换总结
- oracle 行列转换
- 关于oracle行列转换
- oracle 实现行列转换
- oracle行列转换总结
- Oracle 行列转换 总结
- oracle行列转换总结
- oracle行列转换
- oracle 行列转换
- oracle 行列转换
- oracle 行列转换
- oracle 行列转换
- Yii学习笔记(入门)
- android 组建添加透明度
- 如何模仿一个app(纯属拿来练手!!!)
- 专访黄勇:Java
- Android控制软键盘的弹出和隐藏
- oracle decode行列转换
- 高手进阶必读:Linux内核的同步机制
- BAT批处理脚本教程
- Codeforces 460C Present (贪心 + 二分)
- 使用XStream注解实现Java对象与XML互相转换的代码示例
- css3扇形菜单
- JAVA jdk 环境变量配置
- Doxygen的个人使用心得和记录
- [letecode java] Lowest Common Ancestor of a Binary Search Tree