左连接两个以上的表 [英] Left join more than two tables

查看:91
本文介绍了左连接两个以上的表的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆