利用--作代码分析

select alias_cardtype,
       id_card_value,
       sum(decode(flag, 'inTotal', total, 0)) inTotal,--tj
       sum(decode(flag, 'outTotal', total, 0)) outTotal,--tj
       sum(decode(flag, 'activeTotal', total, 0)) activeTotal---tj
  from (select alias_cardtype,
               id_card_value,
               count(1) total,
               'inTotal' as flag
          from (select m.card_seq, m.alias_cardtype, m.id_card_value
                  from ecm_card_info_retail m
                  left join ecm_bussnihall_sale a on m.absorbed_id =
                                                     a.absorbed_id
                 where trunc(m.import_date) = trunc(sysdate-6)
                union all
                select n.card_seq, n.alias_cardtype, n.id_card_value
                  from ecm_card_info_wholesale n
                  left join ecm_bussnihall_sale a on n.absorbed_id =
                                                     a.absorbed_id
                 where trunc(n.import_date) = trunc(sysdate-6))
         group by alias_cardtype, id_card_value
        union all--
        select alias_cardtype,
               id_card_value,
               count(1) total,
               'activeTotal' as flag
          from (select m.card_seq, m.alias_cardtype, m.id_card_value--
                  from ecm_card_info_retail m
                  left join ecm_bussnihall_sale a on m.absorbed_id =
                                                     a.absorbed_id
                 where trunc(m.active_date) = trunc(sysdate-6)
                union all
                select n.card_seq, n.alias_cardtype, n.id_card_value
                  from ecm_card_info_wholesale n
                  left join ecm_bussnihall_sale a on n.absorbed_id =
                                                     a.absorbed_id
                 where trunc(n.active_date) = trunc(sysdate-6))
         group by alias_cardtype, id_card_value
        union all--
        select alias_cardtype,
               id_card_value,
               count(1) total,
               'outTotal' as flag
          from (select m.card_seq, m.alias_cardtype, m.id_card_value
                  from ecm_card_info_retail m
                  left join ecm_bussnihall_sale a on m.absorbed_id =
                                                     a.absorbed_id
                 where trunc(a.sale_time) = trunc(sysdate-6)
                union all
                select n.card_seq, n.alias_cardtype, n.id_card_value
                  from ecm_card_info_wholesale n
                  left join ecm_bussnihall_sale a on n.absorbed_id =
                                                     a.absorbed_id
                 where trunc(a.sale_time) = trunc(sysdate-6))
         group by alias_cardtype, id_card_value)
 group by alias_cardtype, id_card_value

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值