Sqlserver
 sql >> डेटाबेस >  >> RDS >> Sqlserver

परिणाम खाली होने पर 0 लौटाएं

हो सकता है कि आप यह चाहते थे (मैं स्पष्ट वाक्य रचना और वर्तनी की त्रुटियां रख रहा हूं जिन्हें मैं अधिक जानकारी के बिना वास्तव में सही नहीं कर सकता):

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




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL Server 2008 त्रुटि कोड से प्राथमिक कुंजी दोहराव की पहचान कैसे करें?

  2. SQL सर्वर में सेलेक्ट स्टेटमेंट में सॉर्टिंग (ऑर्डर बाय) का उपयोग कैसे करें - SQL सर्वर / TSQL ट्यूटोरियल पार्ट 109

  3. टाइमज़ोन नाम से टाइमज़ोन ऑफ़सेट कैसे प्राप्त करें

  4. एसक्यूएल में एक ही आईडी के साथ मूल्यों को कैसे जोड़ना है?

  5. SQL सर्वर ROW_NUMBER व्यवहार