Mailinglisten-Archive |
DEXTER schrieb am Dienstag, den 31. August 1999:
> hi .. ich habe ein kleines problem.. und zwar habe ich eine
> tabelle die wie folg aussieht:
>
> heimteam teamnrgast
> ......... ...........
> Luberzen KS Limmattal
> KZO Wetzikon Wetzikon KZO
> FGZ FGZ
> Looren Maur
> Bühl Wiedikon
> KZU Bülach Bülach
> Talacker Uster
> Kaserne Birmensdorf
> Kaserne Birmensdorf
> Nägelimoos Kloten
> Kappeli Altstetten
> FGZ FGZ
> Schlossächer Obfelden
>
>
> nun sollte ich beide tabellen in "ein" drop-down menue bringen ...
^^^^^^^^
> doch die doppelten namen dürfen nur einmal aufgelistet werden.
>
> ist das überhaupt möglich?
Nach dem Lesen der anderen Beiträge zum Thema wurde mir klar, daß an
der markierten Stelle "Spalten" stehen sollte und nicht "tabellen".
Die Antwort ist, ja, es ist möglich! (klar :-)
In Standard-SQL:
( SELECT DISTINCT heimteam FROM tabelle )
UNION
( SELECT DISTINCT teamnrgast FROM tabelle )
(Das UNION bildet die Vereinigung der beiden Ergebnismengen
und läßt Duplikate dabei automatisch weg.)
Leider kennt MySQL den UNION-Befehl nicht, weshalb man dort
auf andere Möglichkeiten ausweichen muß. Prinzipell kenne ich:
a) Einfach die beiden SELECTs getrennt nacheinander machen
und auf der Anwendungsseite die beiden Ergebnismengen zu
zusammenmischen, daß eventuelle Duplikate herausfallen.
(Falls nötig, kann ich auch leicht ein Beispielprogramm
dazu zusammenbauen ...)
b) Die Ergebnismengen der beiden SELECTs in eine temporäre
Tabelle einfügen und dann von dort das Gesamtergebnis
abrufen:
CREATE TABLE tmp ( team CHAR(30) );
LOCK TABLES tabelle READ, tmp WRITE;
INSERT INTO tmp SELECT DISTINCT heimteam FROM tabelle;
INSERT INTO tmp SELECT DISTINCT teamnrgast FROM tabelle;
SELECT DISTINCT team FROM tmp ORDER BY team;
UNLOCK TABLES;
DROP TABLE tmp;
Ciao,
Martin
--
Martin Ramsch <m.ramsch_(at)_computer.org> <URL: http://home.pages.de/~ramsch/ >
PGP KeyID=0xE8EF4F75 FiPr=52 44 5E F3 B0 B1 38 26 E4 EC 80 58 7B 31 3A D7
---
*** Abmelden von dieser Mailingliste funktioniert per E-Mail
*** an mysql-de-request_(at)_lists.4t2.com mit Betreff/Subject: unsubscribe
php::bar PHP Wiki - Listenarchive