Sven Rautenberg: MySQL - Abfrage Datum, Ergebnisse mit Wert 0 anzeigen

Beitrag lesen

Moin!

Das Problem an der Anfrage ist jedoch, wenn für ein bestimmtes Jahr keine Einträge gefunden werden, wird keine 0 ausgegeben.

Kann mir jemand dabei helfen das Anfrageergebnis so zu entwerfen ?

Dein Problem ist mit SQL nicht zu lösen. SQL kann nur Vorhandenes auswerten. Anhand welcher Handreichungen sollte es denn wissen, welche nichtvorhandenen Werte du erwartest?

Meine derzeitige Anfrage sieht so aus:
SELECT DATE_FORMAT(datum, '%Y'), klasse, COUNT(datum) AS cnt FROM tabelle WHERE DATE_FORMAT(datum, '%Y') >= '2000' AND DATE_FORMAT(datum, '%Y') <= '2005' AND klasse like '01' GROUP BY DATE_FORMAT(datum, '%Y'), klasse;

Die einfachste Lösung ist, in der abfragenden Sprache ein Raster für die zu erwartenden Abfrageergebnisse vorzubereiten, mit 0 vorzubelegen, und alle gefundenen SQL-Ergebnisse dann dort einzusortieren.

- Sven Rautenberg