我现在有以下查询
SELECT * FROM tbl_Cars c
INNER JOIN tbl_Car_Parts cp ON c.Id = cp.Id
INNER JOIN tbl_Car_Factory cf ON cp.Id = cf.Id然而,我现在已经意识到,在Cars表中有一些I,而这些I不是在汽车部件表中,所以这些I在我的结果中被省略了,而我希望它们包括在内。我尝试将我的内部连接更改为左外部连接,但是结果集没有什么不同,我被返回了?
发布于 2014-03-19 21:02:51
在LEFT OUTER JOIN中使用,连接的两个。
SELECT * FROM tbl_Cars c
LEFT OUTER JOIN tbl_Car_Parts cp ON c.Id = cp.Id
LEFT OUTER JOIN tbl_Car_Factory cf ON cp.Id = cf.Id否则,对于那些在INNER JOIN表中没有ID (不加入)的记录,第二个LEFT OUTER JOIN将使第一个tbl_Car_Parts失效。
在LEFT OUTER JOIN之后,如果要加入的表与前面使用LEFT OUTER JOIN的表无关,则只能再次使用LEFT OUTER JOIN。
发布于 2014-03-19 21:02:06
LEFT应该已经解决了你的问题,不知道为什么它不起作用。为了安全起见,我在两张桌子上都用了左连接.
SELECT * FROM tbl_Cars c
LEFT JOIN tbl_Car_Parts cp ON c.Id = cp.Id
LEFT JOIN tbl_Car_Factory cf ON cp.Id = cf.Idhttps://stackoverflow.com/questions/22517937
复制相似问题