Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Abfrage über 2 MySQL DB (https://www.delphipraxis.net/71221-abfrage-ueber-2-mysql-db.html)

Hansi 11. Jun 2006 12:08

Datenbank: MySQL • Zugriff über: ZEOS

Abfrage über 2 MySQL DB
 
Hey,

Ich möchte gerne eine Abfrage über 2 MySQL DB machen. Das Problem ist aber, dass die Namen der DB in einem Array vorliegen. Wie kann ich da eine Abfrage hinbekommen? So funzt es nicht:

SQL-Code:
Select array1.db_name1.Feld1, array1.db_name2.Feld1 from array1.db_name1.Tabelle1, array1.db_name2.Tabelle1 Where...

Dax 11. Jun 2006 12:11

Re: Abfrage über 2 MySQL DB
 
Kann man überhaupt DB-übergreifend Abfragen? Ich glaubs ja nicht... :gruebel:

mkinzler 11. Jun 2006 12:13

Re: Abfrage über 2 MySQL DB
 
Ich nehme an du verstehst unter 2 Datenbanken 2 Tabellen einer Datenbank.

Delphi-Quellcode:
zquery.Sql.Text := 'Select ' + <array1.db_name1.Feld1>+ ', '+<array1.db_name2.Feld1> + ' from '+ '+<array1.db_name1.Tabelle1>+', '+<array1.db_name2.Tabelle1> + ' Where...';

Hansi 11. Jun 2006 12:17

Re: Abfrage über 2 MySQL DB
 
Ne ich meine wirklich zwei getrennte MySQL DB mit jeweils eigenen Tabellen...

Geht das mit 2 DB nicht?

mkinzler 11. Jun 2006 12:18

Re: Abfrage über 2 MySQL DB
 
Nein.

marabu 11. Jun 2006 12:31

Re: Abfrage über 2 MySQL DB
 
Hallo Christoph,

MySQL selbst beherrscht die qualifizierte Schreibweise von Tabellen in der Form db.table - Markus meint sicher, dass ZEOS damit nicht zurecht kommt.

Grüße vom marabu

faux 11. Jun 2006 12:42

Re: Abfrage über 2 MySQL DB
 
Also ich bin mir ziemlich sicher, dass man <db>.<table>.<row> schreiben kann, in MySQL.
Bsp:
SQL-Code:
SELECT base1.table1.row1, base1.table1.row2, base1.table2.row1, base2.table1.row1
FROM base1.table1
  JOIN base2.table1
    ON (base1.table1.id = base2.table1.id)
  JOIN base1.table2
    IN (base1.table1.id = base1.table2.id)
Grüße
Faux

Hansi 11. Jun 2006 12:48

Re: Abfrage über 2 MySQL DB
 
ok Danke!

Dann werde ich es anders probieren...

Euch noch einen schönen Sonntag!

marabu 11. Jun 2006 12:53

Re: Abfrage über 2 MySQL DB
 
Manchmal ist es eine Lösung ein SQL Statement per EXECUTE direkt vom Server interpretieren zu lassen. Siehe dazu ein Beispiel von onlinekater.

marabu

Alexander 11. Jun 2006 13:23

Re: Abfrage über 2 MySQL DB
 
Ansonsten wäre es noch eine Möglichkeit beide Tabellen zu selektieren (also quasi komplett runterzuladen) und anschließend im Programm diese zusammen zu mergen... Evtl. halt noch einmal in eine andere gemeinsame Tabelle einfügen (kann ja auch lokal sein). Ist aber sicherlich der unperformanteste Weg :P


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:16 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz