Можно ли использовать операцию соединения для двух таблиц из разных баз данных? Если да, как мне это сделать?
Обе базы данных находятся на одном сервере, и СУБД одинакова.
SQL Server позволяет объединять таблицы из разных баз данных, если эти базы данных находятся на одном сервере. Синтаксис соединения такой же; единственное отличие состоит в том, что вы должны полностью указывать имена таблиц.
Предположим, у вас есть две базы данных на одном сервере - Db1
и Db2
. Db1
есть таблица, вызываемая Clients
со столбцом, ClientId
и Db2
таблица, называемая Messages
со столбцом ClientId
(давайте не будем разбираться, почему эти таблицы находятся в разных базах данных).
Теперь, чтобы выполнить соединение с вышеупомянутыми таблицами, вы будете использовать этот запрос:
select *
from Db1.dbo.Clients c
join Db2.dbo.Messages m on c.ClientId = m.ClientId
Вы можете использовать часть синонимов в базе данных.
Затем в мастере просмотра на вкладке «Синонимы» найдите сохраненные синонимы, добавьте их в просмотр и просто установите внутреннее соединение.
источник