2013-10-26 85 views
0

我一直試圖讓這個查詢的結果包含所有的flavor.model並且總結那些有序的數量。它確實有效,除非在沒有訂購任何東西時它不顯示任何味道表中的任何關鍵字。我雖然左加入將包括左側的所有項目?左加入?零不返回

select 
    flavor.id, 
    flavor.model, 
    IFNULL(SUM(orders.quantity),0)as ORDERED 
from 
    orders 
LEFT JOIN 
    flavor 
    ON orders.model=flavor.model 
where 
     orders.orddate >= '131006' 
    and orders.orddate <= '131013' 
    and orders.buyer<>'****@gmail.com' 
GROUP BY 
    flavor.model 
+1

查詢的「左側」是join *語句之前的*表*。 – Josh

+1

小心分組......它聞起來很奇怪。 –

+0

YOu是正確的,通過flavor.id分組更好,但不能解決丟失的記錄 –

回答

0

你可能想要做的RIGHT JOIN代替LEFT JOIN作爲左邊一列,orders是你的參考表,因此你不會得到未發現flavour值。

+1

此外,必須將where子句作爲連接子句('ON ...')。否則,他們會使聯合表現爲內聯接,因爲他們引用具有「可選」行的表。 –

+0

即使嘗試RIGHT JOIN我無法獲得任何NULL值。在ON之前嘗試了括號,並且包含了WHERE語句,但沒有運氣。 –