yo,
Ich möchte jetzt die 10 größten Familien finden und anschließend die Väter (gibt's pro Familie nur einmal) als Datensatz zurückbekommen!
das problem mit mysql und seinen funktionen wie LIMIT ist, dass man sehr schnell in eine Falle tappen kann. man muss sich zumindest allen problemen bewußt sein. hier wäre es der fall, wenn mehrere familien die gleiche größe aufweisen und diese alle auf den "10 ten" platz landen würden. dann schneidest du familien ab. das wäre so, als wenn es bei olympia zwei dritte plätze gibt und nur eine die bronze medaillie erhält. das kann so gewollt sein, muss aber bedacht sein.
nun aber zu deinem eigentlich problem. zwar kannst du keine unterabfrage verwenden, hast die lösung aber schon selbst gesagt, musst sie nur noch umsetzen. du nimmst einfach deine erste abfrage mit dem group by. der clou ist, dass es pro familie nur einen vater gibt, dessen namen du ja haben willst. diese kombination kombiniert mit der isFather spalte, einer IF flusssteuerung oder NULL Prüfung, gut geschüttelt und dann mit einer MIN oder MAX Aggregation (beides geht, da es eh nur einen wert gibt) gewürtzt, e viola, hast du alles in einer abfrage ohne unterabfrage.
Ilja