我们正在寻找过去4个月内所有销售产品的每小时销售数据(我们的系统每小时写一份记录,每个产品的销售总数,但仅限销售产品)。我创建了一个视图,计算过去4个月的每小时并且正常工作。当我进行左连接时,它表现得像一个正确的加入,因为它只返回那个小时有销售的记录。没有销售时,没有返回零记录。我做错了什么?
SELECT SUM(quantity) as total, product_name, vw.dates
FROM vwGetHours4Months vw
LEFT JOIN Product_Sales ps ON vw.Dates=ps.sales_hour
GROUP BY product_name,vw.dates
OPTION (maxrecursion 0)
答案 0 :(得分:1)
我认为问题在于您按照product_name进行分组,因为在没有销售的情况下,它会在数小时内为空,但会从结果中省略。
尝试:
SELECT SUM(quantity) as total, product_name, vw.dates
FROM vwGetHours4Months vw
LEFT JOIN Product_Sales ps ON vw.Dates=ps.sales_hour
GROUP BY isnull(product_name,''),vw.dates
OPTION (maxrecursion 0)