Sql 从左侧外部联接中选择
我有一个名为DICT的表,表applicator上有一个外键,另一个表名为DT 表DT有一个外键进入表申请人 我要做的是选择:Sql 从左侧外部联接中选择,sql,postgresql,Sql,Postgresql,我有一个名为DICT的表,表applicator上有一个外键,另一个表名为DT 表DT有一个外键进入表申请人 我要做的是选择: 格言* 申请人与该条有关 与DICT相关的DT和与此DT相关的申请人 我有这个不完整的密码 SELECT DICT.*,DT.*,applicant.* FROM DICT LEFT OUTER JOIN DICT.dt = DT.id_DT INNER JOIN applicant ON DICT.applicant =applicant .id_applic
- 格言*
- 申请人与该条有关
- 与DICT相关的DT和与此DT相关的申请人
SELECT DICT.*,DT.*,applicant.*
FROM DICT
LEFT OUTER JOIN DICT.dt = DT.id_DT
INNER JOIN applicant ON DICT.applicant =applicant .id_applicant
WHERE DICT.id_DICT = 5
我必须在DT上使用左外连接
,因为有些时候DICT没有DT
这段代码给出了DICT、它们链接的申请人记录和DT,但它没有给出与DT相关的申请人。如果我正确地收集了OP,问题是您需要两次加入
申请人
表,以便它在列列表中显示两次。一组是加入DT记录的申请人记录,一组是加入DICT记录的申请人记录
SELECT DICT.*,dict_applicant.*,dt_applicant.*,DT.*
FROM DICT
INNER JOIN applicant AS dict_applicant ON DICT.applicant = dict_applicant.id_applicant
LEFT OUTER JOIN DT on DICT.dt = DT.id_DT
INNER JOIN applicant AS dt_applicant on DT.applicant = dt_applicant.id_applicant
WHERE DICT.id_DICT = 5