Ralf: Syntax für Gruppierung in einer Tabelle gesucht

Gumo!

Mir fehlt der richtige Ansatz für eine Erfassung von gleichen Inhalten in zwei verschiedenen Spalten einer Tabelle meiner mysql.

Die Struktur:
Name1 | Name2 | Strasse
-----------------------
Hans    Klaus   ....
Gerd    Hans    ....
Sonja   Sven    ....

Das Feld Strasse ist hier für mich erstmal nicht relevant, jedoch möchte ich den Hans nur einmal bei der Ausgabe der gesamten Tabelle sehen, ganz gleich, wie oft er im Feld "Name1" oder "Name2" steht.

Mein Ansatz:
SELECT * FROM adressen GROUP BY name1,name2

führt nur dahingehend zum Erfolg, dass ich die beiden Spalten separat ausgeben müßte um alle zu erfassen und trotzdem nichts doppelt zu haben.

Der Versuch:
SELECT * FROM adressen GROUP BY name1,name2 AS allenamen
führt zum Fehler weil der Syntax nicht korrekt ist.

Frage:
Ist die group by-Anweisung in diesem Fall der falsche Ansatz, falls ja, was wäre der "passende" sql-Befehl, oder muss die bestehende Anweisung nur ergänzt werden?

Danke für eure Hilfe!

  1. Yerf!

    ungetestet:

    select name1 as name from adressen union select name2 as name from adressen

    (union ohne all filtert automatich doppelte raus)

    Aber insgesamt sieht das nach einem verkorksten Datenmodell aus, oder weshalb stehen 2 gleichbedutende Daten in 2 verschiedenen Spalten?

    Gruß,

    Harlequin

    --
    RIP --- XHTML 2
    nur die Besten sterben jung
    1. select name1 as name from adressen union select name2 as name from adressen

      (union ohne all filtert automatich doppelte raus)

      Aber auch nur weil du prinzipiell davon ausgehst, dass UNION ohne irgendwas automatisch UNION DISTINCT draus macht - das trifft zwar für viele (alle?) DMBS zu, aber ich bin mir nicht sicher ob das auch so festbetoniert ist.

      Ein schneller Blick in SQL92 und SQL99 zeigt, dass hier von shall/should gesprochen wird - und keineswegs von "must".