Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
Home -> Community -> Usenet -> c.d.o.misc -> Oracle SQL script needs finetuning in TOAD
Hi All,
I need to somehow simplify/finetune this long query, as it takes about 1/2 hour to run, if not more! Any suggestions?
Regards,
Bernard
SELECT ROUND(AVG(GR.GR),1) Grading, ROUND(AVG(RR.RR),1) Resheeting, ROUND(AVG(PR.PR),1) Pave_Repairs, ROUND(AVG(SW.SW),1) Shoulder_Work, ROUND(AVG(RF.RF),1) Road_Furn, ROUND(AVG(FW.FW),1) Foot_Work, ROUND(AVG(KCW.KCW),1) Kerb_Channel, ROUND(AVG(SGPW.SGPW),1) Sign_Post, ROUND(AVG(DW.DW),1) Drain_Work, ROUND(AVG(RCU.RCU),1) Cust_Req FROMReceived on Tue May 30 2006 - 01:44:07 CDT
(
SELECT DECODE(GRADING_ROADS, 0, 2.5, GRADING_ROADS) AS GR FROM V_NM_CUSU WHERE IIT_DATE_CREATED BETWEEN TO_DATE('01/01/2006','DD/MM/YYYY') AND TO_DATE('31/12/2006','DD/MM/YYYY') AND GRADING_ROADS <> 5 ) GR,
(
SELECT DECODE(RESHEET_ROADS, 0, 2.5, 5, 0, RESHEET_ROADS) AS RR FROM V_NM_CUSU WHERE IIT_DATE_CREATED BETWEEN TO_DATE('01/01/2006','DD/MM/YYYY') AND TO_DATE('31/12/2006','DD/MM/YYYY') AND RESHEET_ROADS <> 5 ) RR,
(
SELECT DECODE(PAVEMENT_REPAIRS, 0, 2.5, 5, 0, PAVEMENT_REPAIRS) AS PR FROM V_NM_CUSU WHERE IIT_DATE_CREATED BETWEEN TO_DATE('01/01/2006','DD/MM/YYYY') AND TO_DATE('31/12/2006','DD/MM/YYYY') AND PAVEMENT_REPAIRS <> 5 ) PR,
(
SELECT DECODE(SHOULDER_WORK, 0, 2.5, 5, 0, SHOULDER_WORK) AS SW FROM V_NM_CUSU WHERE IIT_DATE_CREATED BETWEEN TO_DATE('01/01/2006','DD/MM/YYYY') AND TO_DATE('31/12/2006','DD/MM/YYYY') AND SHOULDER_WORK <> 5 ) SW,
(
SELECT DECODE(ROAD_FURNITURE, 0, 2.5, 5, 0, ROAD_FURNITURE) AS RF FROM V_NM_CUSU WHERE IIT_DATE_CREATED BETWEEN TO_DATE('01/01/2006','DD/MM/YYYY') AND TO_DATE('31/12/2006','DD/MM/YYYY') AND ROAD_FURNITURE <> 5 ) RF,
(
SELECT DECODE(FOOTPATH_WORK, 0, 2.5, 5, 0, FOOTPATH_WORK) AS FW FROM V_NM_CUSU WHERE IIT_DATE_CREATED BETWEEN TO_DATE('01/01/2006','DD/MM/YYYY') AND TO_DATE('31/12/2006','DD/MM/YYYY') AND FOOTPATH_WORK <> 5 ) FW,
(
SELECT DECODE(KERB_CHANNEL_WORK, 0, 2.5, 5, 0, KERB_CHANNEL_WORK) AS KCW FROM V_NM_CUSU WHERE IIT_DATE_CREATED BETWEEN TO_DATE('01/01/2006','DD/MM/YYYY') AND TO_DATE('31/12/2006','DD/MM/YYYY') AND KERB_CHANNEL_WORK <> 5 ) KCW,
(
SELECT DECODE(SIGN_GUIDE_POST_WORK, 0, 2.5, 5, 0, SIGN_GUIDE_POST_WORK) AS SGPW FROM V_NM_CUSU WHERE IIT_DATE_CREATED BETWEEN TO_DATE('01/01/2006','DD/MM/YYYY') AND TO_DATE('31/12/2006','DD/MM/YYYY') AND SIGN_GUIDE_POST_WORK <> 5 ) SGPW,
(
SELECT DECODE(DRAIN_WORK, 0, 2.5, 5, 0, DRAIN_WORK) AS DW FROM V_NM_CUSU WHERE IIT_DATE_CREATED BETWEEN TO_DATE('01/01/2006','DD/MM/YYYY') AND TO_DATE('31/12/2006','DD/MM/YYYY') AND DRAIN_WORK <> 5 ) DW,
(
SELECT DECODE(RCU, 0, 2.5, 5, 0, RCU) AS RCU FROM V_NM_CUSU WHERE IIT_DATE_CREATED BETWEEN TO_DATE('01/01/2006','DD/MM/YYYY') AND TO_DATE('31/12/2006','DD/MM/YYYY') AND RCU <> 5 ) RCU