pivot 基本语法:pivot(聚合函数 for 列名 in(类型))
wm_concat 基本语法: WM_CONCAT(字段名)
基本需求情况:客户需要在系统中查看某月各项目的回款情况。
之中存在以下问题:每月回款可回前多月的款项。如2019年一月可以回2018年 7月,9月,12月的款。
客户要求可以根据用户回款的月份展示动态表头。以上面的距离是查询2019年1月的回款信息,需要返回的结果7,9,12,分别在三个列上。
原始表结构:
time_cd 为账期,即回款是回的哪个月。up_month 为操作日期(每月数据录入只能在当月内完成)。depart_id 为部门ID。PRO_ID 为项目ID。HS_NUM,BHS_NUM,SHUIE,分别为含税收入,不含税收入,税额。
目标:取UP_MONTH 为固定的某月。该月下的某一个部门下的所有项目各月的回款统计;
实现思路:使用pivot将 time_cd 转到列上,其中 pivot(聚合函数 for 列名 in(类型)) 类型部分使用嵌套的方法 用 wm_count()函数拼接time_cd。
代码:
SELECT
to_char(
'
SELEC