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

Откуда:
Сообщений: 16
Добрый день!
Прошу совет.
Есть две бд. Создала запрос, в итоге имеем выборку с двумя временными таблицами, в каждой выборка из соответствующей бд.
В этих двух временных таблицах необходимо сравнивать два столбца на равенство. Более эти таблицы никак не соотносятся.
Как можно составить запрос, который связывает обе таблицы? Присвоить как-нибудь каждой строке свой номер, например?
Т.е.
Имеем следующие таблицы с одинаковым количеством строк
##fromBD1
ids1s2


##fromBD2
names1s2


Хочу создать следующий запрос:
select bd1.id
         , bd2.name
         , bd1.s1
         , bd1.s2
         , bd2.s1
         , bd2.s2
from ##fromBD1 bd1
   left join ##fromBD2 bd2 on /* вот тут бы их как-нибудь связать */
26 июн 18, 10:35    [21520998]     Ответить | Цитировать Сообщить модератору
 Re: Связать две таблицы из разных баз  [new]
iiyama
Member

Откуда:
Сообщений: 642
Александра2393,

первым действием должно быть не написание запроса, а осознание того, что вы хотите получить.
если Вам надо получить записи из 2-х таблиц у которых одинаковые поля s1 и s2, то

[Tabl1] INNER JOIN [Tabl2] ON [Tabl1].s1=[Tabl2].s1 AND [Tabl1].s2=[Tabl2].s2
26 июн 18, 10:51    [21521077]     Ответить | Цитировать Сообщить модератору
 Re: Связать две таблицы из разных баз  [new]
Александра2393
Member

Откуда:
Сообщений: 16
iiyama, отличное и простое решение!
А если надо получить именно тех, у кого не совпадают суммы?
26 июн 18, 11:00    [21521130]     Ответить | Цитировать Сообщить модератору
 Re: Связать две таблицы из разных баз  [new]
Посетитель
Member

Откуда:
Сообщений: 1232
Александра2393
А если надо получить именно тех, у кого не совпадают суммы?

зависит от того, что вы под этим подразумеваете

от чего то такого
[Tabl1] FULL JOIN [Tabl2] ON [Tabl1].s1=[Tabl2].s1 AND [Tabl1].s2=[Tabl2].s2 
 where [Tabl1].s1 is null or [Tabl2].s1 is null


в случае если надо найти записи без пары

до чего то такого

[Tabl1] INNER JOIN [Tabl2] ON [Tabl1].s1<>[Tabl2].s1 or [Tabl1].s2<>[Tabl2].s2


если вам нужно вывести все пары из второй таблицы, несовпадающие с конкретной записью из первой :)
26 июн 18, 11:05    [21521165]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить