Count() und Group - Geht das überhaupt so?

Count() und Group - Geht das überhaupt so?

am 05.12.2007 19:00:57 von Matthias Voigt

Hallo, ich hab folgende Abfrage (leicht vereinfacht)

SELECT COUNT(pp.party_id) as `party_pic_count` FROM bix_partys as p LEFT
JOIN bix_party_pics as pp ON p.party_id = pp.party_id WHERE p.deleted = 0
AND (pp.deleted = 0 or pp.party_id IS NULL) GROUP BY pp.party_id ORDER BY
p.partydate_start DESC

Problem hierbei ist, dass nicht alle Parties auch sofort Bilder haben. Durch
die Gruppierung werden diese allerdings alle in eine Gruppe gruppiert mit
Count = 0. Die nachfolgenden Parties erscheinen dann nicht mehr.
Geht das so überhaupt, und wenn ja, was mach ich falsch?
Oder bleibt mir nur noch für jede Party eine einzelne Abfrage?

Mfg
MAtthias Voigt

Re: Count() und Group - Geht das überhaupt so?

am 07.12.2007 13:28:40 von Matthias Voigt

NA gut,

dann werd ich wohl doch die Anzahl der Bilder weglassen... Und
gegebenenfalls als extra-Abfragen einfügen.
Trtotzdem
Danke


"Matthias Voigt" schrieb im Newsbeitrag
news:fj6p0r$6t8$03$1@news.t-online.com...
> Hallo, ich hab folgende Abfrage (leicht vereinfacht)
>
> SELECT COUNT(pp.party_id) as `party_pic_count` FROM bix_partys as p LEFT
> JOIN bix_party_pics as pp ON p.party_id = pp.party_id WHERE p.deleted = 0
> AND (pp.deleted = 0 or pp.party_id IS NULL) GROUP BY pp.party_id ORDER BY
> p.partydate_start DESC
>
> Problem hierbei ist, dass nicht alle Parties auch sofort Bilder haben.
> Durch die Gruppierung werden diese allerdings alle in eine Gruppe
> gruppiert mit Count = 0. Die nachfolgenden Parties erscheinen dann nicht
> mehr.
> Geht das so überhaupt, und wenn ja, was mach ich falsch?
> Oder bleibt mir nur noch für jede Party eine einzelne Abfrage?
>
> Mfg
> MAtthias Voigt
>

Re: Count() und Group - Geht das überhauptso?

am 07.12.2007 15:46:12 von B.Steinbrink

On Wed, 05 Dec 2007 19:00:57 +0100, Matthias Voigt wrote:

> Hallo, ich hab folgende Abfrage (leicht vereinfacht)
>
> SELECT COUNT(pp.party_id) as `party_pic_count` FROM bix_partys as p LEFT
> JOIN bix_party_pics as pp ON p.party_id = pp.party_id WHERE p.deleted =
> 0 AND (pp.deleted = 0 or pp.party_id IS NULL) GROUP BY pp.party_id ORDER
> BY p.partydate_start DESC
>
> Problem hierbei ist, dass nicht alle Parties auch sofort Bilder haben.
> Durch die Gruppierung werden diese allerdings alle in eine Gruppe
> gruppiert mit Count = 0. Die nachfolgenden Parties erscheinen dann nicht
> mehr. Geht das so überhaupt, und wenn ja, was mach ich falsch? Oder
> bleibt mir nur noch für jede Party eine einzelne Abfrage?

Hm, wolltest du dein GROUP BY eventuell auf p.party_id anwenden? Das
"Warum" lass ich mal als Übung.

Björn