हो सकता है कि आप यह चाहते थे (मैं स्पष्ट वाक्य रचना और वर्तनी की त्रुटियां रख रहा हूं जिन्हें मैं अधिक जानकारी के बिना वास्तव में सही नहीं कर सकता):
SELECT NumberOfAccedentInYear = ISNULL
(
(SELECT COUNT(AccedentId)
FROM Accident
GROUP BY DriverId, YEAR(AccedentDate)
HAVING (DriverId [email protected])<3))
, 0
);
COALESCE बनाम ISNULL चर्चा के बारे में उत्सुक किसी के लिए, और मैंने ISNULL का उपयोग करने के लिए अपना उत्तर क्यों बदल दिया, @kanav ने ठीक ही बताया कि COALESCE अधिक महंगा है। COALESCE सबक्वेरी का दो बार मूल्यांकन करता है, जैसा कि मैंने यहां बताया:https://stackoverflow.com/a/10669660/ 61305