Richard.Y 2020-06-28 09:35 采纳率: 0%
浏览 118

小白一枚,麻烦各位大佬帮忙看一下这个sql怎么优化啊!

create or replace view SO_MONEY_DETAIL as
select substr(snrh.dbilldate || snih.dbilldate, 0, 10) dbilldate,
substr(snrh.vorderbillcode || snih.vorderbillcode, 0, 40) ddh,
'' bah, snih.ntotalmny fpzje, snrh.total skje,
snih.retainage wk,0 rnreceivedmny,0 inreceivedmny,snih.vbillcode fph,
substr(snrh.cdept || snih.cdept, 0, 20) cdept,
snrh.billmaker ||','|| snih.billmaker billmaker,substr(snrh.sohbillmaker || snih.sohbillmaker, 0, 20) sohbillmaker
from (select srh.dbilldate, srh.effectbillcode, sum(srh.total) total,
srh.vorderbillcode, srh.cdept, srh.billmaker,soh.nreceivedmny,soh.billmaker sohbillmaker
from so_receipt_h srh left join so_order_h soh
on srh.vsrcid = soh.id
where srh.dr = 0
group by srh.dbilldate,srh.effectbillcode, vorderbillcode, srh.cdept,
srh.billmaker,soh.nreceivedmny,soh.billmaker) snrh
full outer join (select sih.dbilldate,sih.effectbillcode, sum(sih.ntotalmny) ntotalmny,
sih.vorderbillcode, sum(sih.retainage) retainage,
wm_concat(sih.vbillcode) vbillcode, sih.cdept,
sih.billmaker,soh.nreceivedmny,soh.billmaker sohbillmaker
from so_invoice_h sih left join so_order_h soh
on sih.vsrcid = soh.id
where sih.dr = 0
group by sih.vorderbillcode,sih.effectbillcode,sih.dbilldate, sih.cdept,
sih.billmaker,soh.nreceivedmny,soh.billmaker) snih
on snrh.vorderbillcode = snih.vorderbillcode
and snrh.dbilldate = snih.dbilldate
order by fph
/


  • 写回答

1条回答 默认 最新

  • 顺流而上.. 2020-06-28 15:57
    关注

    这种得拆分了吧,太长了,没见过这么长的sql

    评论

报告相同问题?

悬赏问题

  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器