繁体   English   中英

如果SQL查询中没有结果,则返回0

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM