我希望能够根据表达式的结果内部连接两个表.
到目前为止我一直在努力:
INNER JOIN CASE WHEN RegT.Type = 1 THEN TimeRegistration ELSE DrivingRegistration AS RReg
ON
RReg.RegistreringsId = R.Id
Run Code Online (Sandbox Code Playgroud)
RegT是我在此加入之前创建的联接:
INNER JOIN RegistrationTypes AS RegT ON R.RegistrationTypeId = RegT.Id
Run Code Online (Sandbox Code Playgroud)
此SQL脚本不起作用.
总而言之,如果Type是1,那么它应该加入表中,TimeRegistration否则它应该加入DrivingRegistration.
解:
在我的select语句中,我执行了以下连接:
INNER JOIN RegistrationTypes AS RegT ON R.RegistrationTypeId = RegT.Id
LEFT OUTER JOIN TimeRegistration AS TReg ON TReg.RegistreringsId = R.Id AND RegT.Type = 1
LEFT OUTER JOIN DrivingRegistration AS DReg ON DReg.RegistreringsId = R.Id AND RegT.Type <>1
Run Code Online (Sandbox Code Playgroud)
然后我编辑我where-clause的输出正确,取决于RegType,像这样: …