Ето как го правя. Той създава диапазон от дати от 2011-01-01 до 31.12.2011 :
select
date_format(
adddate('2011-1-1', @num:[email protected]+1),
'%Y-%m-%d'
) date
from
any_table,
(select @num:=-1) num
limit
365
-- use limit 366 for leap years if you're putting this in production
Единственото изискване е броят на редовете в всяка_таблица трябва да бъде по-голям или равен на размера на необходимия диапазон (>=365 реда в този пример). Най-вероятно ще използвате това като подзаявка на цялата си заявка, така че във вашия случай any_table може да бъде една от таблиците, които използвате в тази заявка.