Объединить 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