Vielleicht wollten Sie das (ich behalte offensichtliche Syntax- und Rechtschreibfehler, die ich ohne weitere Informationen nicht wirklich korrigieren kann):
SELECT NumberOfAccedentInYear = ISNULL
(
(SELECT COUNT(AccedentId)
FROM Accident
GROUP BY DriverId, YEAR(AccedentDate)
HAVING (DriverId [email protected])<3))
, 0
);
Für alle, die neugierig auf die Diskussion zwischen COALESCE und ISNULL sind und warum ich meine Antwort geändert habe, um ISNULL zu verwenden, hat @kanav zu Recht darauf hingewiesen, dass COALESCE teurer ist. COALESCE wertet die Unterabfrage zweimal aus, wie ich hier erklärt habe:https://stackoverflow.com/a/10669660/ 61305