下面的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)'做得好 –