Philipp Hasenfratz: MYSQL-JOIN kombi mit DISTINCT

Beitrag lesen

Halihallo Nicole

Nur leider nicht wenn auch der Name ausgegeben werden soll,
dann stellt sich Mysql stur und filtert nur die doppelten Namen raus,
nicht aber die Nummern.

Das kann ich mir nicht vorstellen (zumindest nach meinem Bild deiner Tabellenlayout und
dem Query). Ein DISTINCT(ROW) passt die Ergebnismenge so an, dass jede Zeile als Einheit
eindeutig ist, folglich nur einmal vorkommt. Etwas wie:

+--------+------+------+
|name    | tel1 | tel2 |
+--------+------+------+
|frazy   |  01  |  02  |
|noldi   |  03  |  01  |
|frazy   |  01  |  02  |
+--------+------+------+

kann nicht vorkommen, da frazy|01|02 zweimal vorkommt. Alle gleichen Zeilen werden
gestrichen.

---

Was bringt dir ein

SELECT a.name, a.nummer, a.nummer1, a.nummer2
   FROM x_1 AS a,
        x_2 AS b
   WHERE a.nummer=b.nummer
   GROUP BY a.name, a.nummer, a.nummer1, a.nummer2

Das entspricht in etwa dem, was DISTINCT(ROW) macht. Vielleicht hilft dir diese
Überlegung beim Verständnis (oder löst das Problem gar). Ich habe gelesen, dass
DISTINCT in MySQL der 3.xx Versionen Probleme machen kann (OK, wenn GROUP BY im Spiel
ist, was bei dir IMHO nicht der Fall war).

Viele Grüsse

Philipp