Всем не хворать! Есть такое дело: нужно выбрать записи из Таблицы1, где дата (date_in) находится в периоде, обозначенном датами date_beg и date_end. Период находится в Таблице2. Проблема в том, что периодов может быть несколько. Если бы они (периоды) шли подряд, например так: | Код | DATE_BEG DATE_END 01.01.2013 31.01.2013 01.02.2013 28.02.2013 01.03.2013 31.03.2013
|
то все было бы просто: нужно выбрать MIN(DATE_BEG), MAX(DATE_END) и тогда| Код | SELECT * FROM Таблица1 WHERE date_in BETWEEN (MIN(DATE_BEG) AND MAX(DATE_END))
|
(Такая форма записи не работоспособна, но я стараюсь передать суть, ибо меня интересует конструктивная составляющая.) И тогда, если date_in, скажем, равно 15.02.2013, то такая запись отберется и будет совершенно права. Но как быть, если периоды дискретны, например, так: | Код | DATE_BEG DATE_END 01.01.2013 31.01.2013 01.03.2013 31.03.2013
|
тогда при date_in, равной 15.02.2013, запись отберется ошибочно. Вот и вопрос, как быть? |