Как я узнаю, что дата находится в пределах определенного периода - PullRequest
1 голос
/ 08 сентября 2010

Мы собираем данные о посещаемости в определенной таблице, в основном собирая значения (userId, startDate, endDate).Если человек применяет отпуск на определенную дату, то заполняется только startDate, а если он подает заявку на набор дат, то фиксируются даты начала / окончания.Какой запрос поможет мне найти, если человек уходит в определенную дату (скажем, 9, 12, 15-го числа этого месяца)

user1, 9/8/2010
user2, 9/9/2010, 9/10/2010
user3, 9/14/2010
user4, 9/15/2010
user5, 9/9/2010, 9/20/2010

users taking leaving on 9th would be user2, user5
users taking leaving on 12th would be user5
users taking leaving on 15th would be user4, user5

Запрос не должен содержать конкретных конструкций базы данных, ему нужнозапустить на h2 / mysql / postgres, используя hibernate в качестве слоя ORM

1 Ответ

7 голосов
/ 08 сентября 2010
SELECT  userId
FROM    mytable
WHERE   '2010-09-09' BETWEEN startDate AND COALESCE(endDate, startDate)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...