My (abbreviated) Code is:
SELECT *
FROM
ASSESSMENT A
LEFT JOIN FINANCE F0
ON F0.CLIENT = A.CLIENT
AND F0.FIELD_CODE = 1
AND F0.EVNT_SQNBR =
(SELECT MAX(FX.EVNT_SQNBR)
FROM
FINANCE FX, CROSSREF Y
WHERE
Y.CLIENT = A.CLIENT
AND Y.ASMT_TCD = A.ASMT_TCD
AND Y.ASMT_TY_SQNBR = A.ASMT_TY_SQNBR
AND FX.CLIENT_ID = A.CLIENT
AND FX.FIELD_CODE = F0.FIELD_CODE
AND FX.BUS_LN_SQNBR = F0.BUS_LN_SQNBR
AND FX.EVNT_SQNBR = Y.EVNT_SQNBR)
LEFT JOIN FINANCE F1 (SAME CODE HERE EXCEPT F1.FIELD_CODE IS DIFFERENT)
...
LEFT JOIN FINANCE F2 (SAME CODE HERE EXCEPT F2.FIELD_CODE IS DIFFERENT)
And so on.
The question is it gives -338 ON Clause is Invalid. For all lines (inclusive) starting with AND F0.EVNT_SQNBR = ...
Any idea why, and how to fix it?
Something like this I guess...
The qualifier FN0 does not exist in the JOIN SQL Statement. I think you meant F0.