SELECT h.`no_of_hits`, dates.date_val
FROM table1 h
RIGHT OUTER JOIN
(
SELECT yi.num `y`, mi.num `m`, di.num `d`,
DATE(CONCAT_WS('-', yi.num, mi.num, di.num)) date_val
FROM year_index yi, month_index mi, day_index di
WHERE yi.num BETWEEN 2008 AND 2009
AND mi.num BETWEEN 1 AND 12
AND di.`num` BETWEEN 1 AND 31
AND DATE(CONCAT_WS('-', yi.num, mi.num, di.num)) IS NOT NULL
ORDER BY y, m, d
) as dates
ON h.`visit_date` = dates.date_val
WHERE dates.date_val BETWEEN DATE('2008-02-21') AND DATE('2009-02-02')
Bookmarks