Kermit: DISTINCT in Abfrage über zwei Tabellen möglich?

Hi,
habe mal wieder eine Frage...
Arbeite mit MySql 4.0 und Php
Möchte durch eine Abfrage zweier Tabellen ein Select Feld im Formular füllen. Dabei sollen mir alle Länder angegeben werden, die entweder in der einen oder in der anderen Tabelle vorkommen.
Wie kann ich das machen, daß jedes Land nur einmal vorkommt?
Habe es mit folgender Abfrage versucht, aber kein Ergebniss bekommen:

select distinct(country, Land) as laender from TABLE_1, TABLE_2 order by laender

wobei country in Table_1 vorkommt und Land in Table_2
was habe ich vergessen, bzw. wie schreibt man diese Abfrage richtig?

Wäre dankbar für jede Hilfe!

Grüße,
Kermit

  1. Hallo Kermit,

    Arbeite mit MySql 4.0 und Php

    Deine MySQL-Version kann zwar herzlich wenig, aber ...

    Möchte durch eine Abfrage zweier Tabellen ein Select Feld im Formular füllen. Dabei sollen mir alle Länder angegeben werden, die entweder in der einen oder in der anderen Tabelle vorkommen.

    ... immerhin beherrscht sie UNION. Damit ist Dein Problem lösbar.

    Freundliche Grüße

    Vinzenz

    1. Hi Vinzenz,
      danke für den Hinweis.
      Leider ist mein Englisch nicht so gut und ich kann das ganze gerade nicht direkt ausprobieren (da ich auf die Online DB derzeit keinen Zugriff habe und auf meiner lokalen Terstumgebung eine noch ältere MySQL Version läuft) aber wenn ich es richtig verstanden habe müßte die Abfrage wie folgt lauten, oder?

      SELECT country as laender from TABLE_1 UNION SELECT land as laender from TABLE_2 order by laender

      Grüße,
      Kermit

      1. Hallo Kermit,

        Leider ist mein Englisch nicht so gut

        es gibt die Doku auch auf Deutsch, nur des öfteren leider nicht so vollständig und aktuell.

        und ich kann das ganze gerade nicht direkt ausprobieren (da ich auf die Online DB derzeit keinen Zugriff habe und auf meiner lokalen Terstumgebung eine noch ältere MySQL Version läuft) aber wenn ich es richtig verstanden habe müßte die Abfrage wie folgt lauten, oder?

        SELECT country as laender from TABLE_1 UNION SELECT land as laender from TABLE_2 order by laender

        Fast. Du kannst aber nur bei der ersten SELECT-Anweisung Aliasnamen vergeben. Ein Name reicht :-)

        Freundliche Grüße

        Vinzenz

        1. Danke Vinzenz für die Hilfe!

          Grüße,
          Kermit

  2. Hallo,
    ich denke der Link hilft dir weiter.

    http://www.sqldocu.com/four/join.htm