Czy możemy użyć operacji łączenia dla dwóch tabel z różnych baz danych? Jeśli tak, jak mam to zrobić?
Obie bazy danych znajdują się na tym samym serwerze, a DBMS jest taki sam.
SQL Server umożliwia łączenie tabel z różnych baz danych, o ile te bazy danych znajdują się na tym samym serwerze. Składnia złączeń jest taka sama; jedyną różnicą jest to, że musisz w pełni określić nazwy tabel.
Załóżmy, że masz dwie bazy danych na tym samym serwerze - Db1
i Db2
. Db1
ma tabelę o nazwie Clients
z kolumną ClientId
i Db2
tabelę o nazwie Messages
z kolumną ClientId
(zastanówmy się, dlaczego te tabele znajdują się w różnych bazach danych).
Teraz, aby wykonać sprzężenie na wyżej wymienionych tabelach, będziesz używać tego zapytania:
select *
from Db1.dbo.Clients c
join Db2.dbo.Messages m on c.ClientId = m.ClientId
Możesz użyć części synonimów w bazie danych.
Następnie w kreatorze widoku z zakładki Synonimy znajdź zapisane synonimy i dodaj je do widoku i po prostu ustaw sprzężenie wewnętrzne.
źródło