yo,
... jep, wenn alle beteiligten Join-Relationen mit PRIMARY KEY, oder
Schlüsselkandidat (UNIQUE) in GROUP BY aufgenommen werden, macht
jedwelcher COUNT(*) keinen Sinn, da er per Definition *immer* 1 ist.
mit anderen worten, du setzt für das funktionieren deiner query vorraus, dass alle beteiligten die eigenschaft unique besitzen. aber genau diese eigenschaft setzt den sinn der count() funktion ausser kraft, nach der aber gefragt wurde. letztlich läuft es darauf hinaus, dass man vorsichtig sein muss, was man so in das group by mit rein nimmt, da es in aller regel einfluss auf die aggregat-funktionen hat. deshalb sehe ich bei diesem problem eher unterabfragen als mögliche lösung an. leider hat sich bernd nicht mehr gemeldet.....
0 kann übrigens bei COUNT(*) nicht vorkommen, 0 kann nur bei COUNT
(attr) oder COUNT(DISTINCT attr) vorkommen, nämlich dann, wenn attr
Tupelbedingt NULL ist bzw. durch einen OUTER JOIN mit NULL besetzt
wird.
jau das stimmt, 1 ist bei count() der kleinstmögliche wert, da immer eine ergebnistabelle erzeugt wird. da kann man mal sehen, auch columbo ist nicht perfekt ;-)
Ilja