以下のSQL文では、ROUTER_IDを渡しており、RTR_HEADERレコードの最新バージョンと関連するRTR_SEQUENCEが返されることを期待しています。Oracle 8i SQLコマンドが正しく終了していません
SELECT
RH.ROUTER_ID,
RH.DESCRIPTION,
RSEQ.SEQUENCE_NUMBER
FROM
CFG.RTR_SEQUENCE RSEQ
INNER JOIN CFG.RTR_HEADER RH
ON RSEQ.ROUTER_ID = RH.ROUTER_ID
AND RSEQ.ROUTER_REV = RH.ROUTER_REV
WHERE
RH.ROUTER_REV = (SELECT MAX(RVER.ROUTER_REV) FROM CFG.RTR_HEADER RVER WHERE RVER.ROUTER_ID = RH.ROUTER_ID)
AND RH.ROUTER_ID = 'XXXXX-XXX'
ORDER BY RH.ROUTER_ID, RSEQ.SEQUENCE_NUMBER
私はINNER JOINをでSQLコマンドが正常にインテリジェンスポインティングとを終了していない得続けます。 INNER JOINとそれに関連するテーブルとフィールドを省略すると、SQL文が実行されます。最近のバージョンのRTR_HEADERレコードを取得しますが、一致するRTR_HEADERも必要です。私はSO上の他の既存の回答の多くを見て、決断なしに彼らの決議を考慮しました。
構文が正常に見えます。 ROUTER_IDは数字ではない文字列であると仮定します。 – kevinsky
正しい。文字列値。 –
8iに入っていないか、8iの構文を確認していますか?内部結合をコンマで置き換え、ONの後の条件をwhere節に移動します。 – Mottor