2013-10-26 56 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语句,但没有运气。 –