1

MSSQL サーバーと ADODB 接続を使用して、PHP で異なるデータベースの 2 つのテーブルを結合することは可能ですか?

/*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;");

これら 2 つのデータベースに対して、次のような JOIN クエリを実行する必要があります。

select col from DB1.table1 JOIN DB2.table
4

1 に答える 1

2

そのために2つの接続は必要ありません。接続ユーザーは両方のデータベースにアクセスできるため、1つの接続だけでこれを行うことができます

テーブル名の前にデータベース名を付けるだけです

[データベース名].[dbo].[テーブル名]

与えられた例からそれを行う方法は次のとおりです。

SELECT a.col FROM [DB1].[dbo].[table1] a
INNER JOIN [DB2].[dbo].[table] b ON a.col = b.col
于 2013-10-31T16:36:58.010 に答える