请各位高人帮忙看一个sql,谢谢!!!▲▲▲▲▲▲▲▲▲▲
因为数据比较多,所以运行以下sql的速度比较慢(.net+oracle),请
我已经黔驴技穷了,各位高手看看能不能给换个写法,优化下,谢谢!!!
TRIM(A.SHHNCD || '・' || A.SHHNNM) AS SHH,
DECODE(A.ZKSBMK,'0','A','2','B','9','C') ZKSBMK,
ROUND(C.HZAISU/DECODE(A.IRISU,'','1','0','1',A.IRISU),0) AS HZAISU,
ROUND(D.NZAISU/DECODE(A.IRISU,'','1','0','1',A.IRISU),0) AS NZAISU,
DECODE(TRIM(E.TANIKB), '','',TRIM(E.TANIKB || '・' || E.TNIKNJNM)) AS DAN,
(ROUND(C.HZAISU/DECODE(A.IRISU,'','1','0','1',A.IRISU),0) + ROUND(D.NZAISU/DECODE(A.IRISU,'','1','0','1',A.IRISU),0) ) AS GOKEI
FROM MTSHHN A, MTTORI B,
(SELECT SHHNCD, SUM(ZAISU) AS HZAISU
FROM TRLPZR WHERE ZAISU > '0'
AND YDT >= '20080801'
AND YDT <= '20080831'
AND LPCD = '700000' GROUP BY SHHNCD) C,
(SELECT SHHNCD, SUM(ZAISU) AS NZAISU
FROM TRLPZR WHERE ZAISU > '0'
AND YDT >= '20080801'
AND YDT <= '20080831'
AND LPCD = '800000' GROUP BY SHHNCD) D,
MTTANI E
WHERE
A.LPZKKB = '1'
AND B.TORIKB = 'M'
AND A.TRO2CD = B.TORICD
AND A.SHHNCD = C.SHHNCD
AND A.SHHNCD = D.SHHNCD
AND E.TANIKB(+) = '0'
ORDER BY A.SHHNCD, A.SHHNNM