[英]select count case calculation
我有一个MS查询,该查询选择两个不同记录的计数,然后执行计算以从另一个中减去一个结果并将结果显示为difference
。
见下文:
Ticketnumber | Createdon | Modifiedon |
00012121 | 16/03/2015 | 15/03/2015 |
00211335 | 10/03/2015 | 17/03/2015 |
SELECT ( SELECT COUNT(incidentbase.ticketnumber) AS val2
FROM IncidentBase
WHERE createdon >= GETDATE() - 7
) - ( SELECT COUNT(incidentbase.ticketnumber) AS val1
FROM incidentbase
WHERE modifiedon >= GETDATE() - 7
) AS difference
我想根据结果是正数还是负数将结果显示为单个值,类似于:
WHEN difference => 0 then 1
WHEN difference =< 0 then 0
有人可以帮忙吗?
只需使用CASE
:
SELECT CASE
WHEN (SELECT COUNT (incidentbase.ticketnumber) as val2
FROM IncidentBase
WHERE createdon >= GETDATE()-7) -
(SELECT count (incidentbase.ticketnumber) as val1
FROM incidentbase
WHERE modifiedon >= GETDATE()-7) <= 0 THEN 1
ELSE 0
END AS flag
您可以像这样使用“ case”:
declare @i1 int=5
select case when @i1 < 0 then 0
when @i1=> 1 then 1
end results1
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.