LEFT JOIN与LIMIT

时间:2014-10-28 17:40:32

标签: mysql left-join limit

我有两张桌子A和A_LOG

关系是N A_LOG到1 A

A表是: 援助, 口号

A_LOG表是: a_log_id, 援助, 数据

A表内,我有:

a_id | slogan
   1 | bla
   2 | bla bla
   3 | bla bla bla
   4 | bla bla bla bla

A_LOG表内,我有:

a_log_id | a_id | data
       1 |   1  | 2012-01-01
       2 |   1  | 2013-01-01
       3 |   3  | 2012-02-01
       4 |   3  | 2013-02-01

当我执行左连接时,我

 a_id | slogan              | data
    1 | bla                 | 2012-01-01
    1 | bla                 | 2013-01-01
    2 | bla bla             | NULL
    3 | bla bla bla         | 2012-02-01
    3 | bla bla bla         | 2013-02-01
    4 | bla bla bla bla     | NULL

我想要什么

     a_id | slogan              | data
        1 | bla                 | 2013-01-01
        2 | bla bla             | NULL
        3 | bla bla bla         | 2013-02-01
        4 | bla bla bla bla     | NULL

我使用简单的左连接,我也尝试进行左连接(从数据DESC LIMIT1中选择A_LOG顺序),但这限制了它的连接数量。

我试图用一个抽象的例子说清楚,我看到的许多其他人都因为使用个人环境而感到困惑。 我的真实情况有很多其他的加入和东西,但这是问题,我想分离和解决。

1 个答案:

答案 0 :(得分:1)

试试这个

SELECT A.a_id, A.slogan, max(AL.data) data
FROM A
LEFT OUTER JOIN A_LOG AL ON A.a_id = AL.a_id
GROUP BY A.a_id, A.slogan