2010-04-02 14 views
6

Chiedere aiuto per questa query Oracle. Mi sta dando l'errore 2 "ORA-00905: parola chiave mancante". Sta funzionando bene prima che aggiungessi la dichiarazione LEFT JOIN. Ovviamente non fornirà le informazioni di cui abbiamo bisogno senza la dichiarazione LEFT JOIN.Errore Oracle LEFT JOIN e SUBQUERY di SQL: ORA-00905: parola chiave mancante

Si prega di fornire alcun aiuto per sapere quale parola chiave manca in questa query

Grazie mille !:

DB Tabelle: DW.TICKETS DW.TICKET_ACTLOG

tabella di subquery: TABLE_RESOLVERS

SELECT 
    TO_CHAR(DW.TICKETS.RESOLVED_TIMESTAMP,'YYYY-MM-DD HH24:MI:SS') AS RESOLVED_DATE, 
    DW.TICKETS.SUBJECT, DW.TICKETS.OWNER_CORE_ID, 
    DW.TICKETS.TICKET_NUMBER, 
    TABLE_RESOLVERS.SUBMITTER AS RESOLVER_CORE_ID 

FROM DW.TICKETS 

LEFT JOIN 
    (SELECT 
     TICKET_NUMBER, 
     SUBMITTER 
    FROM DW.TICKET_ACTLOG 
    WHERE 
     TYPE = 'Final Resolution' AND 
     (SUBMITTER = 'B02666' OR 
     SUBMITTER = 'R66604') 
    ORDER BY CREATE_TIMESTAMP DESC 
    ) AS TABLE_RESOLVERS 

ON DW.TICKETS.TICKET_NUMBER = TABLE_RESOLVERS.TICKET_NUMBER 

WHERE 
    DW.TICKETS.RESOLVED_TIMESTAMP >= to_date('05-03-2010','dd-mm-yyyy') AND 
    DW.TICKETS.RESOLVED_TIMESTAMP < to_date('8-03-2010','dd-mm-yyyy') AND 
    DW.TICKETS.TICKET_NUMBER LIKE 'TCK%' AND 
    DW.TICKETS.TICKET_NUMBER IN 
     (SELECT TICKET_NUMBER 
     FROM DW.TICKET_ACTLOG 
     WHERE 
      (SUBMITTER = 'B02666' OR 
      SUBMITTER = 'R66604') 
     ) 

ORDER BY DW.TICKETS.CREATE_TIMESTAMP ASC 
+1

è "TIPO" una parola riservata in Oracle? –

+0

@EricPetroelje - TYPE è una parola chiave ma non è vietata: è stata introdotta nella sintassi troppo tardi per questo. – APC

+0

Quale versione di Oracle è questa? – cairnz

risposta

22

Non includiamo il AS w gallina che dichiara un alias di tabella. Invece di

) AS TABLE_RESOLVERS 

scrittura

) TABLE_RESOLVERS 
+0

Ottimo, questo ha funzionato, grazie! – Arturo

1

Sembra che il "AS" è estranea nei pressi di "AS TABLE_RESOLVERS"