Mailinglisten-Archive |
Katja Ide schrieb am Freitag, den 3. September 1999: > Ich möchte gerne mit einer Abfrage mehrere Tabellen einer Datenbank > gleichzeitig durchsuchen, geht das? Da MySQL den SQL-Befehl "UNION" nicht versteht, geht es leider nicht mit einer einzigen SQL-Anfrage. Du mußt also in Deinem PHP-Programm (per Schleife oder so) der Reihe nach pro Tabelle je eine SQL-Anfrage abschicken und Doppelnennungen selber herausfiltern. Alternative ist, daß Du eine temporäre Tabelle anlegst, die einzelnen SELECT-Ergebnisse jeweils in diese temporäre Tabelle einfügst und dann am Ende ein SELECT DISTINCT aus dieser Tabelle machst. Die reinen SQL-Anweisungen dazu sehen dann etwa so aus: CREATE TABLE tmp ( definitionen_der-benötigten_felder ); LOCK TABLES tmp WRITE, tab1 READ, tab2 READ, tab3 READ, ... INSERT INTO tmp SELECT DISTINCT benötigte_felder FROM tab1 WHERE ...; INSERT INTO tmp SELECT DISTINCT benötigte_felder FROM tab2 WHERE ...; INSERT INTO tmp SELECT DISTINCT benötigte_felder FROM tab3 WHERE ...; SELECT DISTINCT * FROM tmp; UNLOCK TABLES; Ciao, Martin -- Martin Ramsch <m.ramsch_(at)_computer.org> <URL: http://ramsch.home.pages.de/ > PGP: 0xE8EF4F75, 52 44 5E F3 B0 B1 38 26 E4 EC 80 58 7B 31 3A D7
php::bar PHP Wiki - Listenarchive