我有一个像这样的SQL请求:
SELECT *, MAX(dateFin)
FROM t1 LEFT JOIN
t2
ON t1.id = t2.idUtl
GROUP BY t2.dateFin
ORDER BY t1.dateCreation
limit 0,10
我有这张表:
t1 t2
id dateCreation id idUtl dateFin
1 2015-02-25 1 1 2015-01-10
2 2015-02-22 2 1 2014-09-12
3 2015-06-20 3 3 2014-08-23
所以根据我的要求,我得到了这个结果:
t1.id dateCreation t2.id idUtl dateFin
3 2015-06-20 3 3 2014-08-23
1 2015-01-10 1 1 2015-01-10
我的问题是我也想要这一行
t1.id dateCreation t2.id idUtl dateFin
2 2015-02-22 NULL NULL NULL
我在我的请求中尝试使用另一个SELECT,但它没有用,我认为这不是一个好主意。
答案 0 :(得分:0)
这是你想要的吗?
SELECT t1.*, MAX(t2.dateFin)
FROM t1 LEFT JOIN
t2
ON t1.id = t2.idUtl
GROUP BY t1.id
ORDER BY t1.dateCreation
limit 0, 10;
我认为问题是你的group by
条款。
答案 1 :(得分:0)
我找到了解决方案:
SELECT * from t1
left JOIN t2 ON t1.id = t2.idUtl
and date_fin=(select MAX(t2.date_fin) from t2 where t1.id = t2.id_candidat )
ORDER BY t1.dateCreation
limit 0,10