我想在一张表上与其他3个表进行多个外部联接。联接是nideclaration。目标是获得一个声明,其中包含我的模式中与之相关的所有内容。现有代码使用旧语法进行了一次外部联接:其中a.x=b.x(+)。“new”语法左外部联接的作用似乎完全相同。我的问题是在同一个请求中多次使用它。似乎我不能使用唯一的“声明D”标识符,这就是为什么我用3种不同的方法来做相同的事情而不是一种。
select *
FROM entreprise e,
calendrier m,
statut s,
lignedeclaration l,
categoriedeclaration c,
declaration d left OUTER JOIN saisiecategoriedeclaration sc on d.niddeclaration = sc.niddeclaration ,
declaration de left OUTER JOIN saisielignedeclaration sl on de.niddeclaration = sl.niddeclaration,
declaration dl left OUTER JOIN reglement r on dl.niddeclaration = r.niddeclaration
WHERE (d.nidentreprise = e.nidentreprise)
AND d.niddeclaration = 12314689
and de.niddeclaration = 12314689
and dl.niddeclaration = 12314689;
简言之,我想在同一个请求中执行2个普通联接和3个外部联接。三个外部连接与同一个“左”表。