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
Този синтаксис е разгледан в глава 7 от Inside SQL Server 2008 T-SQL Querying или вижте тази статия от Ицик Бен Ган и последващо писмо от Lubor Kollar
Имате ON
клауза за t2.AddressOID = t4.OID
last например означава, че JOIN
на t2
логично се случва последно. т.е. другите съединения са логически първо се обработва, след това LEFT JOIN
се случва срещу резултата от тези присъединявания.