[英]Return 0 if no results in SQL Query
我需要在同一字段中查询2个不同的值,但是如果其中之一没有结果,我需要查询返回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
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.