优雅地计算各公司各类型每天的年累计值

SELECT
  now(),
  t1.sum,
  t1.crew_set_type_code,
  t2.crew_set_status_full_name,
  t1.orgz_code,
  t3.orgz_full_name,
  t3.orgz_abb_name,
  t1.period_id
FROM
  (
    with org_crew as (
      select
        distinct orgz_code,
        crew_set_type_code
      from
        mscm_gg_prd.DTF_ZN_PRD_LJSW
    ),
    everyday_value as (
      select
        t_period.period_id,
        org_crew.orgz_code,
        org_crew.crew_set_type_code,
        coalesce(t_ljsw.measure_value, 0) as value
      from
        (
          select
            distinct period_id
          from
            mscm_gg_prd.DTF_ZN_PRD_LJSW
        ) as t_period
        left join org_crew on 1 = 1
        left join mscm_gg_prd.DTF_ZN_PRD_LJSW as t_ljsw on t_ljsw.period_id = t_period.period_id
        and t_ljsw.orgz_code = org_crew.orgz_code
        and t_ljsw.crew_set_type_code = org_crew.crew_set_type_code
    )
    select
      *,
      sum(value) over(
        partition by orgz_code,
        crew_set_type_code,
        to_char(period_id, 'yyyy')
        order by
          period_id
      )
    from
      everyday_value
  ) t1
  LEFT JOIN mscm_gg_prd.ITC_GG_PRD_CREWTYP t2 on t2.crew_set_type_code = t1.crew_set_type_code
  LEFT JOIN mscm_gg_prd.ITC_GG_PRD_ORG t3 on t3.orgz_code = t1.orgz_code;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

beOkWithAnything

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值