SELECT ...
FROM dbo.viewFirst vf
INNER JOIN dbo.Table1 t1
ON vf.MVOID = t1.MVOID
AND vf.ValidFrom = t1.ValidFrom
LEFT OUTER JOIN dbo.Table2 t2
RIGHT OUTER JOIN dbo.Table3 t3
ON t2.OID = t3.FKOID
LEFT OUTER JOIN dbo.Table4 t4
ON t3.ZVOID = t4.OID
LEFT OUTER JOIN dbo.Table5 t5
INNER JOIN dbo.Table4 t6
ON t5.OID = t6.BCOID
ON t4.ZVOID = t5.OID
ON t2.AddressOID = t4.OID
Cette syntaxe est traitée dans le chapitre 7 de Inside SQL Server 2008 T-SQL Querying ou voir cet article par Itzik Ben Gan et la lettre de suivi par Lubor Kollar
Avoir le ON
clause pour t2.AddressOID = t4.OID
dernier par exemple signifie que le JOIN
de t2
arrive logiquement en dernier. c'est-à-dire que les autres jointures sont logiquement traité en premier puis le LEFT JOIN
se produit contre le résultat de ces jointures.