在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
为了符合阅读习惯,最终报表希望是如下格式:
------------------------ 咱们一步步来实现: 1.运用DECODE转换行为列 SQL: SELECT NO, 结果:
2.按NO字段分组,并更改列名 SQL: SELECT NO, MAX(DAY1) MON, MAX(DAY2) TUE, MAX(DAY3) THR 结果:
------------------------ 重难点归纳: 1.DECODE缺省值设置 DECODE语法如下:decode(条件,值1,翻译值1,值2,翻译值2,...值n,翻译值n,缺省值) 如果缺省值由''(两个单引号)改为0,即SQL: SELECT NO, MAX(DAY1) MON, MAX(DAY2) TUE, MAX(DAY3) THR 结果如下(所有值为负与空值都被赋为0):
2.列缺省值设置(DAY值为8的显示为'undefined') SQL: SELECT NO,MONEY, 结果:
3.行列转化在表单内数据量较大的情况下消耗较大 原因: 1.扫描目标数据时间开销大。 2.GROUP BY时,数据冗余带来的多行合并。 优点: 表结构稳定:DAY增加新值只需增加记录,无需新增新列! 下一页 decode()函數使用技巧 |
请发表评论