Frank (no reg): JOIN, LEFT JOIN oder was anderes und wie?

Beitrag lesen

Hallo,

ID,liga,Spieler1,Spieler2
Daten:
1,14,644,599
2,14,645,600
3,14,644,600
4,14,599,645

SQL:
$sql1 = "SELECT Spieler1,Spieler2 FROM einzeltest WHERE liga = '14' GROUP BY Spieler1";

Ganz schlecht, wie kannst du Spieler2 selektieren, wenn du nach Spieler 1 gruppierst? Wozu überhaupt GROUP BY?
Du machst einen (eigentlich DEN) typischen Anfängerfehler mit MySQL. Jedes andere Datenbanksystem würde bei deiner Abfrage streiken. Und das wäre auch gut so.

Warum selektierst du nicht

  
SELECT DISTINCT Spieler1    -- alle einmaligsten Spieler1 Werte  
  FROM einzeltest  
  WHERE liga = 14     -- ich hoffe, du hast Liga nicht als Text gespeichert?  
UNION DISTINCT                   -- wenn schon im oberen SELECT vorhanden, dann nicht nochmal  
SELECT DISTINCT Spieler2   -- alle einmaligsten Spieler1 Werte  
  FROM einzeltest  
  WHERE liga = 14     -- ich hoffe, du hast Liga nicht als Text gespeichert?  

gibt 3 aus, stimmt also erst mal. Ich muss aber die ID's _aller_ Spieler1 _und_ Spieler2 aus liga Nr.14 in eine Schleife bekommen (Nr.600 fehlt hier natürlich):

Nummer 600 soll fehlen oder darf nicht fehlen?

Ciao, Frank