[英]LEFT JOIN and MAX
我有一個這樣的 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 的東西,但它沒有用,我認為這不是一個好主意。
這是你想要的嗎?
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
條款。
我找到了解決辦法:
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
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.