2012-02-05 80 views
0

我想選擇最大值s2.maxcol或0,如果沒有條目。 到目前爲止,這工作,但如果沒有相應的條目不退回:MYSQL HAVING與不存在的條目

SELECT MAX(s2.maxcol) AS max_col, s1 . * 
FROM table AS s1 
LEFT JOIN table AS s2 ON s2.parent = s1.id 
GROUP BY s1.id 
HAVING max_col <100 

,但我也想有,其中左聯接返回沒有相應的條目(所以MAX(s2.maxcol行)應爲0

我該如何解決呢?

回答

0

改變HAVING max_col <100HAVING max_col is NULL or max_col <100 這完美的作品。

1

我只是這給了一個快速的外觀和必須馬上離開。但也許COALESCE可能會有所幫助。這裏是info

也許這樣? (UNTESTED!)

SELECT COALESCE(MAX(s2.maxcol), 0) AS max_col, s1 . * 
FROM table AS s1 
LEFT JOIN table AS s2 ON s2.parent = s1.id 
GROUP BY s1.id 
HAVING max_col <100 

希望有所幫助。再見!