【发布时间】:2011-09-13 11:13:39
【问题描述】:
以下是点击跟踪广告的简单查询。我看过很多其他帖子,我正在摸不着头脑。我无法让这个查询工作,以便显示日历表中的所有行(每行一个日历日):
SELECT DATE_FORMAT(calendar_date, '%a %D') AS calendar_date,
count( tracker_id ) as clicks
FROM calendar
LEFT JOIN offer_tracker USING(calendar_id)
WHERE
calendar_month = Month(CURDATE()) AND
calendar_year = Year(CURDATE()) AND ( offer_id = 4 OR offer_id IS NULL )
GROUP BY calendar_date;
它快到了,但并非日历表中的所有行都被返回,即没有周五 2 日、周二 6 日、周三 7 日等:
有人知道我哪里出错了吗?我应该使用子查询吗?
【问题讨论】:
-
可能是 LEFT JOIN,以防某些行在 calendar_id 中有 NULL 值
-
您好 medopal,offer_tracker 表中的 calendar_id 设置为 NOT NULL,我在 calendar_id 中找不到任何带有 null 的行,但感谢您将其标记为建议。
-
查询正确。没有地方可以参考
Fri 2nd时mysql无法返回结果。一个示例解决方案类似于stackoverflow.com/questions/7386530/…