左连接两个以上的表 [英] Left join more than two tables
问题描述
SELECT R。*,A。* FROM [RECRUIT] AS R LEFT JOIN [AUTHORIZATION] A ON R.FORM_ID = A.FORM_ID
请用上面的代码编写左连接代码来帮助我。
我还需要离开加入第二个表[确认]
从[CONFIRMATION]
SELECT R.*,A.* FROM [RECRUIT] AS R LEFT JOIN [AUTHORIZATION] A ON R.FORM_ID=A.FORM_ID
please help me by writing the code for left join with the above code.
I also need to left join the second table [CONFIRMATION]
select [FORM_ID],[Decision] from [CONFIRMATION]
推荐答案
应该如下所示。
SELECT R. *,A。*,C。*
来自[RECRUIT]作为R
LEFT JOIN [授权] A
ON R.FORM_ID = A.FORM_ID
LEFT JOIN [CONFIRMATION] C
ON R.FORM_ID = C.FORM_ID
Should be as simple as below.
SELECT R.*, A.*, C.*
FROM [RECRUIT] AS R
LEFT JOIN [AUTHORIZATION] A
ON R.FORM_ID = A.FORM_ID
LEFT JOIN [CONFIRMATION] C
ON R.FORM_ID = C.FORM_ID
只需在当前查询的末尾添加以下内容:
Just add at the end of your current query the following:
SELECT R.*,A.*,C.*
FROM [RECRUIT] AS R
LEFT JOIN [AUTHORIZATION] A ON R.FORM_ID=A.FORM_ID
LEFT JOIN [CONFIRMATION] C ON R.FORM_ID = C.FORM_ID
但是,我不知道您是否希望加入标准与R(Recruit)或A(授权)一致。
看以下为最佳方案:
如果你这样做...
However, I don't know if you want the join criteria to be with R (Recruit) or with A (Authorization).
Look for the best scenario below:
if you do...
... LEFT JOIN [CONFIRMATION] C ON R.FORM_ID = C.FORM_ID
...如果R中存在C,那么你将得到C,< u>即使A不存在
如果你这样做.. 。
... then you'll get C if it exists in R, even when A doen't exist
if you do...
... LEFT JOIN [CONFIRMATION] C ON A.FORM_ID = C.FORM_ID
...然后你会得到C如果它存在于A中,仅当A存在时。
最后,如果你需要C 当且仅当R和A都存在时,你应该使用......
... then you'll get C if it exists in A, ONLY when A exists too.
Finally, if you need C if and only if both R and A exist, then you should use...
... LEFT JOIN [CONFIRMATION] C ON R.FORM_ID = C.FORM_ID AND A.FORM_ID = C.FORM_ID
这篇关于左连接两个以上的表的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!