В настоящее время я использую базу данных, используя PostgreSQL. У меня есть следующая база данных (надеюсь, что ER-диаграмма полностью ее описывает)
Что вам нужно знать об этой базе данных, так это то, что друг может отдохнуть и провести отпуск который представлен в таблице holiday
с помощью id
, start_date
и end_date
друга.
Я хочу создать запрос PostgreSQL, который найдет даты, когда ровно N
друзей праздник. Меня смущает перебор периода между датой начала и датой окончания (подойдет любое решение, которое поможет с этим запросом).
Пример: предположим, что таблица holiday
имеет такое содержимое
(1, '2012-05-23', '2012-05-27', 1)
(2, '2012-05-23', '2012-05-24', 2)
(3, '2012-05-24', '2012-05-26', 3)
Предположим, что таблица friend
содержит этих трех друзей.
Вывод для number of friends = 3
будет '2012-05-24'.
Для number of friends = 2
будет ('2012-05-23', '2012-05-25' , '2012-05-26').