2

这些是我的表:

如果我使用表 2 左连接表 1,那么我只有 3-7 .. 在这种情况下我需要什么样的连接?

谢谢

4

2 回答 2

3

可惜MySQL不支持FULL OUTER JOIN。但是,您仍然可以模仿它。

SELECT  a.ID1,  
        b.ID2, 
        b.var1, 
        b.var2
FROM    TableA a
        LEFT JOIN TableB b
            ON a.ID2 = b.ID1
UNION 
SELECT  COALESCE(b.ID1, a.ID2), 
        a.ID2, 
        a.var1, 
        a.var2
FROM    Tableb a
        LEFT JOIN TableA b
            ON b.ID2 = a.ID1
于 2013-03-06T15:41:57.990 回答
2

您需要一个完整的外部联接。请参阅 Xaprb 的这篇文章以在 MySql 中进行模拟:

http://www.xaprb.com/blog/2006/05/26/how-to-write-full-outer-join-in-mysql/

于 2013-03-06T15:36:20.607 回答