下面的SQL生成錯誤「不正確的語法附近‘=’這個問題似乎是與select語句(化名效價)。我已經換出滴度Select語句與其他表, SQL在沒有錯誤的情況下執行,在添加FULL OUTER JOIN後,錯誤不會生成;只有在我在CROSS APPLY部分的SELECT語句中鍵入TITER.FLDDATE = TITER.FLDDATE之後,我的目標是隔離原因。錯誤,如果需要更正語法不正確的語法附近「=」
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
子查詢,如果'TITER.FLDEMPLOYEE =「123''有哪些呢'EMPLOYEE.FLDREC_NUM = TITER.FLDEMPLOYEE '怎麼辦?我認爲這可能是多餘的。 –
EMPLOYEE.FLDREC_NUM = TITER.FLDEMPLOYEE將主表(EMPLOYEE)連接到子查詢(TITER表)。 TITER.FLDEMPLOYEE ='123'只是讓特定的員工在開發過程中讓我的查詢更快地運行。 –
啊,是的,我已經做到了。建議:這將是一個爲空的輸入參數,更好地在一個Where子句謂詞:'和TITER.FLDEMPLOYEE =合併(@employeeNbr,EMPLOYEE.FLDREC_NUM)'做得好 –