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 はサブクエリを 2 回評価します。 61305




    1. 値が配列であるMySQLテーブルから行を選択しますか?

    2. SQL Server Management Studio(SSMS)で垂直ブロックを選択して編集する-SQL Server/TSQLチュートリアルパート9

    3. TSQL-データベース内のすべてのテーブルに列を追加する[カーソルの例]

    4. OracleでのOptimisticLockingの実装