SELECT year(holidaydate),month(holidaydate),
sum(case Weekend when true then 1 else 0 end) wkEnd,
sum(case PublicHoliday when true then 1 else 0 end) pubHol
FROM Holiday
GROUP BY year(holidaydate),month(holidaydate)
Ich habe keinen SQL-Server zur Verfügung. Dies wird auf mysql getestet. Hier sind Jahr und Monat Funktionen, um das Jahr und den Monat des Datums zurückzugeben. Syntax von CASE sollte in allen Datenbanken gleich sein.