回答:
select org_id,org_name,in_points,out_points,apply_point,xndhjf,xndhcb,xndhrs,swdhjf,swdhcb,swdfrs from (
${if(org_type='1',
"select g.org_id,org_name,f.in_points,f.out_points,apply_point,xndhjf,xndhcb,xndhrs,swdhjf,swdhcb,swdfrs from (select d.parent_org,sum(apply_point)apply_point,sum(xndhjf)xndhjf,sum(xndhcb)xndhcb,sum(xndhrs)xndhrs,sum(swdhjf)swdhjf,sum(swdhcb)swdhcb,sum(swdfrs)swdfrs from (
select b.parent_org ,sum(apply_point)apply_point,sum(xndhjf)xndhjf,sum(xndhcb)xndhcb,sum(xndhrs)xndhrs,sum(swdhjf)swdhjf,sum(swdhcb)swdhcb,sum(swdfrs)swdfrs from (",
if(org_type='2',
"select g.org_id,org_name,f.in_points,f.out_points,apply_point,xndhjf,xndhcb,xndhrs,swdhjf,swdhcb,swdfrs from (select b.parent_org ,sum(apply_point)apply_point,sum(xndhjf)xndhjf,sum(xndhcb)xndhcb,sum(xndhrs)xndhrs,sum(swdhjf)swdhjf,sum(swdhcb)swdhcb,sum(swdfrs)swdfrs from (",
if(org_type='3',
"select g.org_id,org_name,f.in_points,f.out_points,apply_point,xndhjf,xndhcb,xndhrs,swdhjf,swdhcb,swdfrs from (",
if(org_type='5',
"select g.org_id,org_name,f.in_points,f.out_points,apply_point,xndhjf,xndhcb,xndhrs,swdhjf,swdhcb,swdfrs from ("))),"")} SELECT x.org_id, apply_point, xndhjf, xndhcb, xndhrs, swdhjf, swdhcb, swdfrs FROM ( SELECT SUM (apply_point) apply_point,org_id FROM T_KHQY_ACTIVITY_USER_POINT WHERE SUBSTR (APPLY_TIME, 1, 10) > '2019-10-31' AND SUBSTR (APPLY_TIME, 1, 10) < '2020-01-19' GROUP BY org_id) x LEFT JOIN ( SELECT SUM (cost_price) xndhcb, SUM (total_jf) xndhjf, COUNT (DISTINCT user_cardid_md5) xndhrs, brch_no FROM T_KHQY_JFDH_TRADE a, T_KHQY_JFDH_ORDER b WHERE TO_CHAR (a.gmt_create, 'yyyy-mm-dd') > '2019-10-31' AND TO_CHAR (a.gmt_create, 'yyyy-mm-dd') < '2020-01-19' AND a.status = '2' AND exchange_flag = '3' AND a.spare2 = '1' AND a.tid = b.tid GROUP BY brch_no) y ON y.brch_no = x.org_id LEFT JOIN ( SELECT SUM (cost_price) swdhcb, SUM (total_jf) swdhjf, COUNT (DISTINCT user_cardid_md5) swdfrs, brch_no FROM T_KHQY_JFDH_TRADE a, ( SELECT SUM (cost_price) cost_price, tid FROM T_KHQY_JFDH_order GROUP BY tid) b WHERE TO_CHAR (a.gmt_create, 'yyyy-mm-dd') > '2019-10-31' AND TO_CHAR (a.gmt_create, 'yyyy-mm-dd') < '2020-01-19' AND a.status = '2' AND exchange_flag = '3' AND a.spare2 = '2' AND a.tid = b.tid GROUP BY brch_no) z ON x.org_id = z.brch_no) a ${if(org_type='1',
",t_sys_org b where a.org_id = b.org_id group by b.parent_org) c,t_sys_org d where c.parent_org = d.org_id group by d.parent_org) e,T_KHQY_ACTIVITY_INTEGRAL_QUOTA f, t_sys_org g where e.parent_org = g.org_id and f.org_id = e.parent_org and e.parent_org in (select org_id from t_sys_org where parent_org = ('" + org_id + "')))",
if(org_type='2',
",t_sys_org b where a.org_id = b.org_id group by b.parent_org) c,T_KHQY_ACTIVITY_INTEGRAL_QUOTA f, t_sys_org g where c.parent_org = g.org_id and f.org_id = c.parent_org and g.org_id = ('" + org_id + "')",
if(org_type='3',
",t_sys_org g,T_KHQY_ACTIVITY_INTEGRAL_QUOTA f where a.org_id = g.org_id and f.org_id = a.org_id and a.org_id in (select org_id from t_sys_org where parent_org = ('" + org_id + "')))",
if(org_type='5',
",t_sys_org g,T_KHQY_ACTIVITY_INTEGRAL_QUOTA f where a.org_id = g.org_id and f.org_id = a.org_id and a.org_id = ('" + org_id + "'))"))),"")}