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

Откуда:
Сообщений: 3
SELECT 
 o.fam, o.im, o.ot, o.dr,  o.dt1, o.dt2, o.lpu, o.type_lpu, o.stoim, i.fam, i.im, i.ot, i.dr,  i.dt1, i.dt2, i.lpu, i.type_lpu, i.stoim
FROM sqlmedic AS o inner join sqlmedic AS i
on o.fam=i.fam and o.im=i.im and o.ot=i.ot and o.dr=i.dr and o.lpu<>i.lpu and  i.type_lpu in ('4','5','6','7') and o.type_lpu in ('4','5','6','7')
      and ((o.dt2>i.dt1 and o.dt2<i.dt2) OR (o.dt1>i.dt1 and o.dt1<i.dt2)

)


Есть такой запрос, ищет одинаковых людей в таблице , у которых пересекаются интервалы дат между dt1 и dt2. Всё работает отлично, но появляются зеркально отраженные дубли, не подскажете, как от этого избавиться?

Сообщение было отредактировано: 16 янв 15, 18:15
16 янв 15, 18:10    [17129777]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с запросом  [new]
Ярослав Ваганов
Member

Откуда:
Сообщений: 3
Вот скрин, тут запрос и результат его работы. Проблемные строки в результате - 6 и 7, это одно и тоже, просто крест накрест.
Как от этого избавиться?

Картинка с другого сайта.
16 янв 15, 18:18    [17129812]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с запросом  [new]
хмхмхм
Guest
Ярослав Ваганов,

Как же одно и тоже, а lpu?
o.lpu<>i.lpu
16 янв 15, 18:26    [17129847]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с запросом  [new]
Ярослав Ваганов
Member

Откуда:
Сообщений: 3
у 6 ЛПУ справа равно ЛПУ слева у 7 и наоборот
16 янв 15, 18:35    [17129883]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить