Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Пересечение дат  [new]
VaMpIr_DEX
Member

Откуда:
Сообщений: 2
есть 3 таблицы:
Водители (штатный номер, ФИО, дата рождения)
Торговые точки (id, наименование, адрес)
Маршрутные листы (id, дата выезда, дата возврата, штатный номер водителя, id торговой точки)

По условиям задачи водитель не может за одну поездку посетить сразу 2 торговых точки. Поэтому нужно найти все записи с пересекающимися датами и удалить те, у которых дата выезда позже (используя оператор DELETE).
8 июл 15, 14:55    [17867777]     Ответить | Цитировать Сообщить модератору
 Re: Пересечение дат  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 8805
VaMpIr_DEX,

интервалы А-Б и В-Г пересекаются если А<=Г и В<=Б.
8 июл 15, 15:00    [17867809]     Ответить | Цитировать Сообщить модератору
 Re: Пересечение дат  [new]
VaMpIr_DEX
Member

Откуда:
Сообщений: 2
Владислав Колосов,

Не понимаю .. Можете написать запрос , а то уже второй день пытаюсь разобраться , голова пухнет
8 июл 15, 15:09    [17867850]     Ответить | Цитировать Сообщить модератору
 Re: Пересечение дат  [new]
Добрый Э - Эх
Guest
VaMpIr_DEX,

оформи вопрос в соответствии с пунктом 6
9 июл 15, 05:41    [17870087]     Ответить | Цитировать Сообщить модератору
 Re: Пересечение дат  [new]
aleks2
Guest
delete m1
 from  [Маршрутные листы] m1 
       inner join [Маршрутные листы] m2 on m1.[дата выезда] <= m2.[дата возврата]) and m2.[дата выезда] <= m1.[дата возврата])
 where m1.id <> m2.id and  m1.[дата выезда] > m2.[дата выезда] 
9 июл 15, 06:09    [17870098]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить