SELECT NVL (PANELID, A.USN) INPUTUSN,
       A.USN,
       A.UPN,
       A.TOUR,
       (CASE WHEN A.USN = PANELID THEN '' ELSE A.USN END) OUTPUTUSN,
       A.STAGE,
       A.NEXTSTAGE,
       A.STATUS,
       C.PRODUCTCODE,
       C.PRODUCTTEXT,
       D.CARTONID,
       TO_CHAR (E.PACKTIME, 'YYYYMMDDHH24MISS') PACKTIME1,
       TO_CHAR (D.TRNDATE, 'YYYYMMDDHH24MISS') PACKTIME2,
       H.ERRORCODE
  FROM SFCUSN A
       LEFT JOIN
       (SELECT DISTINCT UPN, PRODUCTCODE, PRODUCTTEXT FROM SFCUPNINFO) C
          ON A.UPN = C.UPN
       LEFT JOIN SFCCARTONITEM D ON A.USN = D.USN
       LEFT JOIN LMSPACKINFO E ON A.USN = E.USN
       LEFT JOIN SFCUSNDEFECT H
          ON     A.USN = H.USN
             AND NOT EXISTS
                    (SELECT USN
                       FROM SFCUSNDEFECT I
                      WHERE I.USN = H.USN AND I.DEFECTDATE > H.DEFECTDATE)
 WHERE NVL (PANELID, A.USN) IN
          (SELECT CELLUSN
             FROM SFCPEARLINFO
            WHERE     STATUS IN (1, 2, 3)
                  AND trndate BETWEEN TO_DATE ('20150701', 'yyyymmdd')
                                  AND TO_DATE ('20150720', 'yyyymmdd'))-------------------------------------------------------------------------------------------------------------------------------------------------------Predicate Information (identified by operation id):                             
---------------------------------------------------                             
                                                                                
   1 - access("A"."CELLUSN"="B"."INPUTUSN"(+))                                  
   2 - filter("A"."STATUS"=1 OR "A"."STATUS"=2 OR "A"."STATUS"=3)               
   3 - access("A"."TRNDATE">=TO_DATE(' 2015-07-01 00:00:00', 'syyyy-mm-dd hh24:m
i:ss') AND                                                                      
                                                                                
              "A"."TRNDATE"<=TO_DATE(' 2015-07-20 00:00:00', 'syyyy-mm-dd hh24:m
i:ss'))                                                                         
                                                                                
   6 - access("A"."USN"="D"."USN"(+))                                           
   7 - access("A"."USN"="E"."USN"(+))                                           
   8 - access("A"."UPN"="C"."UPN"(+))                                           
  12 - access("CELLUSN"=NVL("A"."PANELID","A"."USN"))                           
  13 - filter("STATUS"=1 OR "STATUS"=2 OR "STATUS"=3)                           
  14 - access("TRNDATE">=TO_DATE(' 2015-07-01 00:00:00', 'syyyy-mm-dd hh24:mi:ss
') AND "TRNDATE"<=TO_DATE('                                                     
                                                                                
              2015-07-20 00:00:00', 'syyyy-mm-dd hh24:mi:ss'))                  
  21 - access("A"."USN"="H"."USN")                                              
  22 - filter("I"."DEFECTDATE">"H"."DEFECTDATE")                                
  23 - access("I"."USN"="H"."USN")