ms访问 - 在第三个表上具有复杂JOIN条件的3个表连接

时间:2013-04-24 17:44:11

标签: sql ms-access

我需要在访问中加入多个表。 当谈到连接时,Access有一些奇怪的语法,我似乎无法做到这一点

特别是,C需要考虑来自A和B的字段

 select a.*, B.*, c.* 
  from 
  (tblOne as A 
   Left join tblTwo as B on  A.ParentId = B.Id )
   left join tblThree as C on C.ParentId = B.Id and C.ShoeSize = A.ShoeSize

当涉及超过2个表时,我遇到过并且已经过去了每个Parens的事情。 我可以加入C,只要我只想参考其他表中的一个。 这种类型的东西在SQL Server中相当直接。 任何帮助将不胜感激,我似乎无法在谷歌找到答案。

客户端当前正在使用ms Access 2003.如果问题可以通过更新的版本来解决,我很好,我可以将它们转换为升级。

谢谢

greg

1 个答案:

答案 0 :(得分:0)

我刚刚在Access 2010中尝试了以下内容,似乎可以正常工作,但我必须承认,我不清楚如何在“现实世界“......

SELECT ab.*, c.* 
FROM 
(
    SELECT a.ID AS ID1, a.ShoeSize AS ShoeSize1, b.ID AS ID2 
    FROM tblOne a LEFT JOIN tblTwo b 
        ON a.ParentId = b.Id
) ab LEFT JOIN tblThree c 
    ON c.ParentId = ab.ID2 and c.ShoeSize = ab.ShoeSize1