Чи можемо ми використовувати об’єднання для двох різних таблиць баз даних?


98

Чи можемо ми використовувати операцію з'єднання для двох таблиць з різних баз даних? Якщо так, то як це зробити?

Обидві бази даних є на одному сервері, а СУБД однакові.

Відповіді:


187

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

17
Можливо, слід зазначити, що обидві бази даних повинні бути доступними в одному контексті безпеки. Іншими словами, якщо ви ввійдете з різними обліковими даними для двох баз даних, вищезазначене не працюватиме. У такому випадку вам, мабуть, доведеться використовувати "Пов’язані сервери".
Ian Goldby

2

Ви можете використовувати частину синонімів у базі даних.

введіть тут опис зображення

Потім у вікні майстра перегляду на вкладці Синоніми знайдіть збережені синоніми та додайте для перегляду та встановлення внутрішнього з'єднання просто. введіть тут опис зображення

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.