同じフィールドで2つの異なる値をクエリする必要がありますが、そのうちの1つに結果がない場合は、0を返すクエリが必要です。
SELECT Test_Code, COUNT(*) as Count
FROM Test_Table with (nolock)
WHERE Start_Date >= dateadd(mi,-10,getdate()) AND
(Test_Code='110' OR Test_Code='112')
GROUP BY Test_Code
Test_Code 110には常に結果が含まれるため、そこに0を返す必要はありません。しかし、Test_Code 112に結果がない場合は、0を返すクエリが必要です。
返されるすべての値のリストが必要です-それらがテーブルに存在しない場合に備えて。次に、left join
:を使用します
SELECT v.Test_Code, COUNT(tt.Test_code) as Count
FROM (VALUES ('110'), ('112')) v(test_code) LEFT JOIN
Test_Table tt
ON tt.Test_Code = v.Test_Code AND
tt.Start_Date >= dateadd(minute, -10, getdate())
GROUP BY v.Test_Code
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加