Учитывая две следующие примеры таблиц
ТАБЛИЦА 1: "пользователи"
ID REGISTER_TIME FIRSTNAME LASTNAME OPERATION_ID
1 1401789877 John Doe 29
2 1401789879 Jack Doe 29
3 1401789878 Pete Doe 29
(Обратите внимание, что столбец register_time хранится как INT(11))
ТАБЛИЦА 2: 'calendar_days'
ID DAY
1 2011-01-01
... ....
n 2030-31-12
У меня есть следующий запрос MySQL, который отлично работает:
SELECT d.day, COUNT(d.day)
FROM calendar_days AS d
LEFT OUTER JOIN users AS l ON DATE(FROM_UNIXTIME(l.`register_time`)) = d.day
WHERE l.`operation_id` = 29
GROUP BY d.day;
Но он не сохраняет дни, когда count равен нулю:
day;COUNT(d.day)
2014-05-07;1
2014-05-09;1
2014-05-12;11
2014-05-13;2713
2014-05-14;2631
Что я хочу :
2014-05-07;1
**2014-05-08;0**
2014-05-09;1
2014-05-12;11
2014-05-13;2713
2014-05-14;2631
Я чувствую, что я близок к истине, я пробовал любое соединение, возможное левое внешнее, правое внешнее, до сих пор нет пустых результатов.