yo,
Jetzt brauche ich eine Abfrage die mir zu jeden User Maximal ein Bild liefert (kann ein zufallsbild sein, vorzugsweise aber das mit der niedrigsten ID). Dabei will ich bei Usern die keinen Bild haben einfach NULL zurück bekomen.
der LEFT JOIN war schon der richtige ansatz, allerdings nicht im zusammenhang mit der gruppierung. die ist gerade bei mysql sehr tricky und verleitet die user. deine abfrage zum beispiel würde unter jemaden anderen dbms eine fehlermeldung ausgeben.
SELECT u.id, u.name, b.name AS picurl
FROM user u
LEFT JOIN bilder b ON u.id = b.userid
WHERE b.id = (SELECT MIN(b2.id) FROM bilder b2 WHERE b2.userid = u.id)
ORDER BY u.name ASC
die abfrage funkioniert erst ab mysql 4.1+
Ilja