0

我有 2 个表,表 a 和表 b,内容如下

**Table a**  :  **Id    date**
            830     2005-09-21
            830     2006-01-04
            830     2006-03-15
            930     2006-05-03
            930     2006-06-21

**Table b**  :  **Id    new_date**
            830   2005-09-21
            830   2006-09-21
            930   2007-09-21

所需的输出表应如下所示

            **id      date          new_date**
            830     2005-09-21    2005-09-21
            830     2006-01-04
            830     2006-03-15
            830                   2006-09-21
            930     2006-05-03
            930     2006-06-21
            930                   2007-09-21

我已经尝试过左连接和其他一些连接,但没有提到上面的输出。我应该使用哪个 mysql 连接?提前致谢

4

1 回答 1

0

我建议您尝试将表 B 左连接到 A,将结果别名为 C,然后将 C 右连接回到 B。

像这样的东西:

Select * from (Select A.id, A.date, B.new_date from A left join B on A.id = B.id and A.date = B.new_date) C right join B on C.id = B.id;

于 2012-10-18T17:58:52.467 回答