Hallo Siechfred,
SELECT
COUNT(a.k_name) AS Anzahl,
b.name AS Elternname
FROM Tabelle1 AS a
LEFT JOIN Tabelle2 AS b
ON a.p_id = b.eltern_id
WHERE a.k_name = "Willi"
GROUP BY a.p_id
>
> erhalte ich keine Fehlermeldung, sondern folgende Ergebnistabelle:
wie ich diesen Bug, euphemistisch als Optimierung bezeichnet, hasse.
GROUP BY b.name ist erforderlich!
> ~~~
Anzahl | Elternname
> -------------------
> 1 | Meier
> 2 | Schultze
Und es stimmt,
zufällig! Ja, zufällig! Rein zufällig! Nicht vorhersagbar. Lies die MySQL-Doku, http://dev.mysql.com/doc/refman/5.0/en/group-by-hidden-fields.html:
<zitat>
In standard SQL, you would have to add customer.name to the GROUP BY clause. In MySQL, the name is redundant if you do not run with the ONLY_FULL_GROUP_BY SQL mode enabled.
Do not use this feature if the columns you omit from the GROUP BY part are not unique in the group! You get unpredictable results.
</zitat>
Reicht dir der zweite Absatz?
zu Meier gehört 1 Willi, zu Schultze gehören 2 Willis. Oder bin ich da jetzt völlig auf dem Holzweg?
Ja. Völlig!
Freundliche Grüße
Vinzenz