簡體   English   中英

左連接和最大

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM