Объединить 2 таблицы из разных баз данных

Возможно ли объединение двух таблиц из разных баз данных в php с использованием MSSQL-сервера и ADODB-соединений?

/*Connect DB1*/
$conn = new COM("ADODB.Connection") or die("Cannot start ADO");
$conn->open("PROVIDER=SQLOLEDB;SERVER=SRV;UID=user;PWD=pwd;DATABASE=DB1;");

/*Connect DB1*/
$conn2 = new COM("ADODB.Connection") or die("Cannot start ADO");
$conn2->open("PROVIDER=SQLOLEDB;SERVER=SRV;UID=user;PWD=pwd;DATABASE=DB2;");

Мне нужно выполнить запрос JOIN для этих двух баз данных, что-то вроде этого:

select col from DB1.table1 JOIN DB2.table

1 ответ

Решение

Вам не нужно 2 соединения, чтобы сделать это, вы можете сделать это только с одним соединением, так как пользователь соединения имеет доступ к обеим базам данных

Вам просто нужно поставить имя базы данных перед именем таблицы

[Имя_базы_данный].[DBO].[Имя_таблица]

Вот как вы могли бы сделать это на своем примере:

SELECT a.col FROM [DB1].[dbo].[table1] a
INNER JOIN [DB2].[dbo].[table] b ON a.col = b.col
Другие вопросы по тегам