[英]sql case statement or if statement
嗨,我正在做一个简单的sql报告,不能把我的头放在如何做这个简单的case语句上。 @risk的参数为1或0。 如果存在风险,则返回所有风险大于0的记录;如果没有风险,则返回所有安全记录> 0
SELECT count(b.observationid), a.NumAtRisk , a.CBICode, c.Observerid, d.CBIDescription, d.CBIcatID
FROM dbo.ObservationDetails a
JOIN dbo.Observation b
ON a.ObservationID = b.ObservationID
join #Temp c
on c.Observerid = b.ObserverID
join CBI d
on a.cbiid = d.cbiID
where b.ObservationDate between @Begdate and @Enddate
-- Parameter needs to return one or the other......................
and case when
(@risk) = 1 then [a.NumAtRisk] > 0
else [a.NumSafe] > 0
end
像这样:
where (@risk = 1 and a.NumAtRisk > 0) or
(@risk = 0 and a.NumSafe > 0)
不需要case
表达。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.