Есть таблица операций:
CREATE TABLE hotel_test.ops (
op_date date NOT NULL
op_sum int(11) NOT NULL
)
ENGINE = MYISAM
Данные:
op_date op_sum
2015-08-24 10
2015-08-24 20
2015-08-25 30
2015-08-27 40
2015-08-27 35
2015-08-29 15
2015-08-29 12
2015-08-30 44
Составим запрос для получения общей суммы по датам с определенной даты по определенную. Это просто:
SELECT op_date, sum(op_sum) FROM ops WHERE op_date BETWEEN ? AND ? GROUP BY op_date
Например, с 24-ого по 29-ое получим:
2015-08-24 30
2015-08-25 30
2015-08-27 75
2015-08-29 27
Теперь задача: необходимо составить такой запрос, который вернет суммы для каждой даты из промежутка, включая те, для которых нет операций:
2015-08-24 30
2015-08-25 30
2015-08-26 0
2015-08-27 75
2015-08-28 0
2015-08-29 27
Хранимые процедуры использовать не разрешается.
Задача из теста на собеседовании поставила в тупик соискателя и меня.