Reputation: 51
The following SQL generates the error "incorrect syntax near '=' The issue seems to be with the select statement (alias TITER). I've swapped out the TITER Select statement with other tables, and the SQL executes without the error. The error will not generate after I add the FULL OUTER JOIN; only after I type TITER.FLDDATE = TITER.FLDDATE in the SELECT statement in the CROSS APPLY section. My goal is to isolate for the reason for the error and correct the syntax if needed.
SELECT
EMPLOYEE.FLDLNAME,
EMPLOYEE.FLDFNAME,
EMPLOYEE.FLDREC_NUM,
EMPLOYEE.FLDID2,
TUBER_FLDDATE as "TUBER Date",
TUBER_FLDCLASS as "TUBER Result",
TITER.FLDDATE as "Titer Date"
FROM EMPLOYEE
CROSS APPLY
(SELECT TUBER_FLDDATE = TUBER.FLDDATE,
TUBER_FLDCLASS = TUBER.FLDCLASS,
TITER.FLDDATE = TITER.FLDDATE
FROM (SELECT rn = row_number() over(order by TUBER.FLDDATE),
TUBER.FLDDATE, TUBER.FLDCLASS
FROM TUBER
WHERE EMPLOYEE.FLDREC_NUM = TUBER.FLDEMPLOYEE
and TUBER.FLDEMPLOYEE = '123') TUBER
FULL OUTER JOIN
(Select rn = row_number() over(order by TITER.FLDDATE),
TITER.FLDDATE
FROM TITER
WHERE TITER.FLDTYPE = 'BAMT'
AND EMPLOYEE.FLDREC_NUM = TITER.FLDEMPLOYEE
and TITER.FLDEMPLOYEE = '123') TITER
ON TITER.rn = TUBER.rn) tests
Upvotes: 0
Views: 25432
Reputation: 1760
I think you have an incidental period instead of an underscore:
TITER.FLDDATE = TITER.FLDDATE
should be TITER_FLDDATE = TITER.FLDDATE
and then it parses successfully.
Upvotes: 3