Perhaps you can try this,
Group a single select query from table gnfo_report_asr and then only join
SELECT g1.state_5 state, g1.order_no_10 asr_no, g1.ccna_22 ccna,
g1.provisioning_center_9 prov_center, g1.pon_12 pon,
g1.related_order_13 rord, g1.version_11 ver,
g1.product_14 product, g1.svc_type_sc_18 sc,
DECODE (g1.activity_15, 'N', 'New', 'D', 'Disco', 'C', 'Change') activity,
g1.st_16 st, g1.crdd_jep_32 crdd_jep, g1.ead_jep_33 ead_jep,
(Case WHEN ead_jep_33 LIKE 'H37%'
THEN DECODE (ead_jep_33,
'H37A', 'Internal AT&T Initiated (Pre-ASR)',
'H37B', 'Internal AT&T Initiated (Post-ASR)',
'H37C', 'Customer Initiated (Pre-ASR)',
'H37D', 'Customer Initiated (Post-ASR)',
'H37E', 'Provisioning',
'H37F', 'Provisioning',
'H37G', 'Provisioning',
'H37H', 'Provisioning',
'H37I', 'Cancelled (Pre-ASR)',
'H37J', 'Cancelled (Post-ASR)',
'H37K', 'Internal on EFMS Escal',
'H37M', 'Provisioning',
'H37P', 'Database Discrepancy',
'H37R', 'Internal on EFMS Escal',
'H37S', 'Customer Initiated (EFMS)',
'H37T', 'Escalations for FOC EAD or DLR (EFMS)',
'H37X', 'Provisioning',
'H37Z', 'Provisioning'
)
WHEN crdd_jep_32 LIKE 'H37%'
THEN DECODE (crdd_jep_32,
'H37A', 'Internal AT&T Initiated (Pre-ASR)',
'H37B', 'Internal AT&T Initiated (Post-ASR)',
'H37C', 'Customer Initiated (Pre-ASR)',
'H37D', 'Customer Initiated (Post-ASR)',
'H37E', 'Provisioning',
'H37F', 'Provisioning',
'H37G', 'Provisioning',
'H37H', 'Provisioning',
'H37I', 'Cancelled (Pre-ASR)',
'H37J', 'Cancelled (Post-ASR)',
'H37K', 'Internal on EFMS Escal',
'H37M', 'Provisioning',
'H37P', 'Database Discrepancy',
'H37R', 'Internal on EFMS Escal',
'H37S', 'Customer Initiated (EFMS)',
'H37T', 'Escalations for FOC EAD or DLR (EFMS)',
'H37X', 'Provisioning',
'H37Z', 'Provisioning'
)
ELSE 'NEO Escalation'
End) expedite_desc,
TO_CHAR (g1.order_due_date_38, 'MM/DD/YYYY') dd_due,
TO_CHAR (g1.order_create_date_24, 'MM/DD/YYYY') create_date,
g1.dd_jep_34 dd_jep, g1.jmc_jep_35 jmc_jep, g1.city_4 city,
g1.area_mgr_3 om, g1.region_1 region,
xcdd_due, xcdd_comp, xcdd_jep, edd_due, edd_comp,
insc_due, insc_comp, hxdd_due, hxdd_comp, hxdd_jep,
lcdd_due, lcdd_comp, lcdd_jep, labl_due, labl_comp, labl_jep,
pldd_due, pldd_comp, pldd_jep, ctd_due, ctd_comp, ctd_jep,
TO_CHAR (g1.order_create_date_24, 'YYYY') YEAR
FROM gnfo_report_asr g1
Left Outer Join (
Select order_no_10,
Max(Case When event_25 = 'XCDD' Then TO_CHAR (due_date_26,'MM/DD/YYYY')
Max(Case When event_25 = 'XCDD' Then TO_CHAR (comp_date_27,'MM/DD/YYYY'
Max(Case When event_25 = 'XCDD' Then jep_code_28 Else Null End) As xcdd_jep,
Max(Case When event_25 = 'EDD' Then TO_CHAR (due_date_26,'MM/DD/YYYY')
Max(Case When event_25 = 'EDD' Then TO_CHAR (comp_date_27,'MM/DD/YYYY'
Max(Case When event_25 = 'INSC' Then TO_CHAR (due_date_26,'MM/DD/YYYY')
Max(Case When event_25 = 'INSC' Then TO_CHAR (comp_date_27,'MM/DD/YYYY'
Max(Case When event_25 = 'HXDD' Then TO_CHAR (due_date_26,'MM/DD/YYYY')
Max(Case When event_25 = 'HXDD' Then TO_CHAR (comp_date_27,'MM/DD/YYYY'
Max(Case When event_25 = 'HXDD' Then jep_code_28 Else Null End) As hxdd_jep,
Max(Case When event_25 = 'LCDD' Then TO_CHAR (due_date_26,'MM/DD/YYYY')
Max(Case When event_25 = 'LCDD' Then TO_CHAR (comp_date_27,'MM/DD/YYYY'
Max(Case When event_25 = 'LCDD' Then jep_code_28 Else Null End) As lcdd_jep,
Max(Case When event_25 = 'LABL' Then TO_CHAR (due_date_26,'MM/DD/YYYY')
Max(Case When event_25 = 'LABL' Then TO_CHAR (comp_date_27,'MM/DD/YYYY'
Max(Case When event_25 = 'LABL' Then jep_code_28 Else Null End) As labl_jep,
Max(Case When event_25 = 'PLDD' Then TO_CHAR (due_date_26,'MM/DD/YYYY')
Max(Case When event_25 = 'PLDD' Then TO_CHAR (comp_date_27,'MM/DD/YYYY'
Max(Case When event_25 = 'PLDD' Then jep_code_28 Else Null End) As pldd_jep,
Max(Case When event_25 = 'CTD' Then TO_CHAR (due_date_26,'MM/DD/YYYY')
Max(Case When event_25 = 'CTD' Then TO_CHAR (comp_date_27,'MM/DD/YYYY'
Max(Case When event_25 = 'CTD' Then jep_code_28 Else Null End) As ctd_jep
From gnfo_report_asr
Group By order_no_10
) a On a.order_no_10 = g1.order_no_10
Main Topics
Browse All Topics





by: DiscoNovaPosted on 2008-09-15 at 12:51:16ID: 22482210
First of all - if there already isn't, create the following index:
create index gnfo_report_asr_jix on gnfo_report_asr (event25, order_no_10, due_date_26, comp_date_27, jep_code_28);
...that will make the joining (which there is an awful lot in this query:) a tad bit easier...
Then, you could try modifying your query into something like the following:
Select allOpen in new window