UNION und DISTINCT

Soapp

Erfahrenes Mitglied
Hab folgende Query

SELECT CHART, GASTVORNAME, GASTNACHNAME, NACHNAME FROM GUESTS
UNION
SELECT CHART, GASTVORNAME, GASTNACHNAME, NACHNAME FROM GUESTS2 WHERE TERMIN = 5



In der Tabelle GUESTS 2 möchte ich aber alle Einträge in denen der GASTNACHNAME und der GASTVORNAME identisch sind nur einmal ausgeben
sprich: DISTINCT GASTVORNAME, GASTNACHNAME
Aus der Tabelle GUESTS sollen aber alle Zeilen angezeigt werden.

wie krieg ich das jetzt in die obere Query rein ? *rätsel*

danke danke danke

Soapp
 
Falls jemand grad Zeit hat ..............

Woher weiss MYSQL nun aber , welche Spalten sich auf das DISTINCT beziehen ?

Oder hab ich das mit DISTINCT falsch verstanden ?

Heisst das, dass alle Zeilen , in denen ALLE Spalten identisch sind zu einer zusammengefasst werden?

Oder kann ich auch sagen: fass nur alle Zeilen in denen GASTVORNAME und GASTNACHNAME identisch sind zu einer zeile zusammen

*GRÜBEL*

Danke


Beispiel:

GASTVORNAME GASTNACHNAME TERMIN CHART

Merkel -------------------------Angela------------------5 -------------1
Merkel -------------------------Angela------------------5--------------2

Hier sollte er nur einmal die Merkel anzeigen ....
geht das mit DISTINCT überhaupt ?
 
Zuletzt bearbeitet:
DISTINCT kann meines Wissens vielseitig angewandt werden: Entweder um alle Attribute zur Auswahl von eindeutigen Datensätzen zu beachten (SELECT DISTINCT `column-1`, `column-2`, … `column-n` …) oder nur bestimmte Attribute (SELECT DISTINCT(`column-1`), `column-2`, … `column-n` …).
 
Alternativ kannst Du mit GROUP BY arbeiten. Da kannst Du auf jeden Fall explizit die Felder angeben.

Gruß hpvw
 
Zurück