13

この Oracle クエリについて助けを求めています。エラー2「ORA-00905:キーワードがありません」が表示されます。LEFT JOIN ステートメントを追加する前は、正常に機能していました。明らかに、LEFT JOIN ステートメントがないと、必要な情報が提供されません。

このクエリで欠落しているキーワードを知るための助けを提供してください

どうもありがとう!:

DB テーブル: DW.TICKETS DW.TICKET_ACTLOG

サブクエリ テーブル: 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
4

2 に答える 2

32

ASOracle では、テーブル エイリアスを宣言するときに を含めません。それ以外の

    ) AS TABLE_RESOLVERS 

書きます

   ) TABLE_RESOLVERS 

これは、Oracle 構文が他の種類の SQL よりも制限が厳しい場合の一例です。また、列エイリアスの宣言と矛盾していますが、これは残念なことですが、ほぼ間違いなく複雑すぎて、これを大幅に変更することはできません。

于 2010-04-02T20:12:49.770 に答える
2

「AS TABLE_RESOLVERS」の近くに「AS」が無関係のようです

于 2010-04-02T20:16:48.313 に答える