hpvw hat gesagt.:Ja
Ja
Das zweite Query ist eigentlich auch nur ein bisschen Spielkram. Normalerweise lässt man sich die Daten zurückgeben und sorgt in der Anwendungssprache (hier vermutlich PHP) für die Ausgabe, ggf. mit Templates.
Das erste Query funktioniert durch das Subquery natürlich auch erst ab 4.1.
Ein Workaroud kann man mit JOIN schreiben:Mit PHP liest man das dann so aus:Code:SELECT DISTINCT a.nachname, a.vorname, a.gruppe FROM GUESTS a JOIN GUESTS b ON a.vorname=b.vorname AND a.nachname=b.nachname AND a.gruppe!=b.gruppe ORDER BY a.nachname, a.vorname, a.gruppe
Gruß hpvwPHP:<? //DB-Verbindung $res=mysql_query("SELECT DISTINCT a.nachname, a.vorname, a.gruppe FROM GUESTS a JOIN GUESTS b ON a.vorname=b.vorname AND a.nachname=b.nachname AND a.gruppe!=b.gruppe ORDER BY a.nachname, a.vorname, a.gruppe"); $tempVorname=null; $tempNachname=null; $tempGruppen=array(); while ($row=mysql_fetch_assoc($res)) { if ($row['vorname']!=$tempVorname && $row['nachname']!=$tempNachname) { if ($tempVorname!=null && $tempNachname!=null) { $gruppen=implode(', ',$tempGruppen); echo $tempVorname .' ' .$tempNachname .' ist in den Gruppen ' .$gruppen .'.<br/>'; } $tempVorname=$row['vorname']; $tempNachname=$row['nachname']; $tempGruppen=array(); } $tempGruppen[]=$row['gruppe']; } if ($tempVorname!=null && $tempNachname!=null) { $gruppen=implode(', ',$tempGruppen); echo $tempVorname .' ' .$tempNachname .' ist in den Gruppen ' .$gruppen .'.'; } ?>
Danke, mit dem JOIN gehts