Гость
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Задача найти даты, которые отсутствуют в двух таблицах. / 2 сообщений из 2, страница 1 из 1
14.04.2021, 21:57
    #40062593
osipen
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Задача найти даты, которые отсутствуют в двух таблицах.
Всем доброго вечера!
Задача найти даты, которые отсутствуют в двух таблицах. Результат в моем примере правильный, но получилось как-то "сложно". Задумался, как сделать красивее, но в голову не приходят идеи более красивого решения. Может у кого получится, прошу поделится...

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
declare @t as table ( ContractDate date
,                     Number       int
,                     id           int )

declare @p as table ( ContractDate date
,                     Number       int
,                     id           int )

 

insert into @p
values ( '2021-02-26 00:00:00.000', -301220205, 132080813 )
,      ( '2020-12-30 00:00:00.000', 301220205,  130841514 )
,      ( '2021-02-26 00:00:00.000', 301220205,  132080814 )

 

 

insert into @t
values ( '2021-03-01 00:00:00.000', -301220205, 29454 )
,      ( '2020-12-30 00:00:00.000', 301220205,  24025 )
,      ( '2021-03-01 00:00:00.000', 301220205,  29455 )

 

--select *
--from @p
--select *
--from @t

 

 

select t1.ContractDate
,      t1.Number
,      t1.id
,      p1.id
,      p1.ContractDate
from @t t1
join @p p1 on p1.Number=t1.Number
where not exists (
       select *
       from @t tt1
       join @p pp1 on pp1.Number=tt1.Number
                    and tt1.ContractDate=pp1.ContractDate
       where pp1.id=p1.id
             or tt1.id=t1.id
       )
order by 2 desc
...
Рейтинг: 0 / 0
15.04.2021, 00:31
    #40062619
Владислав Колосов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Задача найти даты, которые отсутствуют в двух таблицах.
osipen,

select a except select b union all select b except select a
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Задача найти даты, которые отсутствуют в двух таблицах. / 2 сообщений из 2, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]