select sum(nvl(a.ysje, 0) - nvl(a.skje, 0)) ye, a.custcode, a.unitcode
from (select decode(zb.djdl, 'ys', sum(fb.Jfbbje), '0') ysje,
decode(zb.djdl, 'sk', sum(fb.ybye), '0') skje,
bas.custcode,
corp.unitcode
from arap_djzb zb
left join arap_djfb fb
on zb.VOUCHID = fb.VOUCHID
left join bd_cumandoc man
on man.pk_cumandoc = fb.ksbm_cl
left join bd_cubasdoc bas
on bas.pk_cubasdoc = man.pk_cubasdoc
left join bd_corp corp
on corp.pk_corp = zb.dwbm
where bas.custcode = '211200127'
--substr(bas.custcode, 0, 2) = '21'
and zb.djzt = '2'
and corp.unitcode = '10301'
and nvl(zb.dr, 0) = 0
and nvl(fb.dr, 0) = 0
group by bas.custcode, zb.djdl, corp.unitcode) a
group by a.custcode, a.unitcode
关联了几张表,条件放开也就几百条数据,查询起来特别慢,大佬能优化一下么
from (select decode(zb.djdl, 'ys', sum(fb.Jfbbje), '0') ysje,
decode(zb.djdl, 'sk', sum(fb.ybye), '0') skje,
bas.custcode,
corp.unitcode
from arap_djzb zb
left join arap_djfb fb
on zb.VOUCHID = fb.VOUCHID
left join bd_cumandoc man
on man.pk_cumandoc = fb.ksbm_cl
left join bd_cubasdoc bas
on bas.pk_cubasdoc = man.pk_cubasdoc
left join bd_corp corp
on corp.pk_corp = zb.dwbm
where bas.custcode = '211200127'
--substr(bas.custcode, 0, 2) = '21'
and zb.djzt = '2'
and corp.unitcode = '10301'
and nvl(zb.dr, 0) = 0
and nvl(fb.dr, 0) = 0
group by bas.custcode, zb.djdl, corp.unitcode) a
group by a.custcode, a.unitcode
关联了几张表,条件放开也就几百条数据,查询起来特别慢,大佬能优化一下么
解决方案 »
- 真是一个杯具..被oracle的字符集彻底击败
- 使用PL/SQL Developer在导出某个表时,出现“流读取错误”,谁知道是什么导致的?
- 如何把一个记录集文本(50W条)数据直接导入到ORACLE库中!
- ORA-09817,如何解
- 如何用sql语句导出csv文件
- 学会了select,请教一问题。
- 请问现在国外是不是有很多公司把数据库委托给专门的公司管理,自己则从网上联机查询?
- 关于序列的怪问题?
- 为何装上Oracle 9i Developer Suite后,Enterprise Manager Console就无法启动了?
- Oracle 8.16 正版,SQL plus worksheet 不能用!
- 表查询仅显示执行无记录显示
- sql语句的优化,查询效率低
补充下,arap_djzb表通过djzt='2' and nvl(dr, 0) = 0 条件过滤后的数据量是多大?