Hallo Forum!
Ich würde gerne die Daten einer Fremdtabelle, die auf einem anderen Server liegen, mit JOIN verbinden und frage mich, ob sowas überhaupt geht oder wie ich das sonst am geschicktesten machen könnte. Folgendes Szenario (nur ein Beispiel fürs Prinzip):
Datenbank 1 (Oracle DB auf Server 1):
$connect1 = odbc_connect("db1", "user1", "password1");
$querystring1 = <<<EOT
SELECT * FROM DBO."Kunden"
INNER JOIN DBO."Tickets"
ON DBO."Kunden"."Kundennummer" = DBO."Tickets"."Kundennummer"
WHERE DBO."Kunden"."Kundennummer" > '10000';
EOT;
$result1 = odbc_exec($connect1, $querystring1);
...
Datenbank 2 (MS-Access MDB auf Server 2):
$connect2 = odbc_connect("db2", "user2", "password2");
$querystring2 = <<<EOT
SELECT * FROM "GeschenkKunden";
EOT;
$result2 = odbc_exec($connect2, $querystring2);
...
Aktuell kann ich mir beide Resultate getrennt voneinander ausgeben lassen.
Nun würde ich gerne die Tabelle von Datenbank 2 in das SELECT von Datenbank 1 JOINen. Gemeinsamer Schlüssel der beiden Tabllen ist "Kundennummer".
Geht sowas überhaupt? Weil wenn ich einfach die DB2 in das JOIN von DB1 einfüge, dann schlägt ja logischerweise die Query fehl, da der odbc_exec sich nur auf DB1 bezieht. D.h. irgendwie/irgendwo müsste zuerst eine getrennte odbc_exec für DB2 ausgeführt werden, damit die richtige Datenbank die Infos liefert.
Müsste ich das vielleicht mit einem Subselect o.ä. machen? Also dass das Resultat der DB2 Abfrage in der DB1 Abfrage berücksichtigt wird.
Danke schön,
Peter
Ich würde gerne die Daten einer Fremdtabelle, die auf einem anderen Server liegen, mit JOIN verbinden und frage mich, ob sowas überhaupt geht oder wie ich das sonst am geschicktesten machen könnte. Folgendes Szenario (nur ein Beispiel fürs Prinzip):
Datenbank 1 (Oracle DB auf Server 1):
$connect1 = odbc_connect("db1", "user1", "password1");
$querystring1 = <<<EOT
SELECT * FROM DBO."Kunden"
INNER JOIN DBO."Tickets"
ON DBO."Kunden"."Kundennummer" = DBO."Tickets"."Kundennummer"
WHERE DBO."Kunden"."Kundennummer" > '10000';
EOT;
$result1 = odbc_exec($connect1, $querystring1);
...
Datenbank 2 (MS-Access MDB auf Server 2):
$connect2 = odbc_connect("db2", "user2", "password2");
$querystring2 = <<<EOT
SELECT * FROM "GeschenkKunden";
EOT;
$result2 = odbc_exec($connect2, $querystring2);
...
Aktuell kann ich mir beide Resultate getrennt voneinander ausgeben lassen.
Nun würde ich gerne die Tabelle von Datenbank 2 in das SELECT von Datenbank 1 JOINen. Gemeinsamer Schlüssel der beiden Tabllen ist "Kundennummer".
Geht sowas überhaupt? Weil wenn ich einfach die DB2 in das JOIN von DB1 einfüge, dann schlägt ja logischerweise die Query fehl, da der odbc_exec sich nur auf DB1 bezieht. D.h. irgendwie/irgendwo müsste zuerst eine getrennte odbc_exec für DB2 ausgeführt werden, damit die richtige Datenbank die Infos liefert.
Müsste ich das vielleicht mit einem Subselect o.ä. machen? Also dass das Resultat der DB2 Abfrage in der DB1 Abfrage berücksichtigt wird.
Danke schön,
Peter
Comment