GROUP BY vollständige Liste

16/12/2007 - 14:25 von Carsten Schade | Report spam
Hallo!

Ich habe folgende Abfrage:

SELECT Stadt, COUNT (ZID) FROM dbo.Ergebnis
GROUP BY Stadt;

...und jetzt mein Problem:
Wenn zu einer Stadt keine Datensàtze vorhanden sind, dann fehlt die Zeile
der Stadt. Wie kann ich die Abfrage umbauen, dass ich auch Nullen angezeigt
bekomme, sodass ich immer alle Stàdte angezeigt bekomme.


Vielen Dank für Eure Hilfe!
 

Lesen sie die antworten

#1 Dieter Noeth
16/12/2007 - 15:46 | Warnen spam
Carsten Schade wrote:

SELECT Stadt, COUNT (ZID) FROM dbo.Ergebnis
GROUP BY Stadt;

und jetzt mein Problem:
Wenn zu einer Stadt keine Datensàtze vorhanden sind, dann fehlt die
Zeile der Stadt. Wie kann ich die Abfrage umbauen, dass ich auch Nullen
angezeigt bekomme, sodass ich immer alle Stàdte angezeigt bekomme.



Woher soll das DBMS wissen, dass Bielefeld existiert?

Aber wahrscheinlich hast du eine Tabelle mit allen gewünschten
Stàdtenamen, dann hilft ein Outer Join:

select s.stadt, coalesce(dt.cnt, 0)
from staedte as s left join
(SELECT Stadt, COUNT (ZID) as cnt FROM dbo.Ergebnis
GROUP BY Stadt) as dt
on s.stadt = dt.stadt;

Dieter

Ähnliche fragen