簡體   English   中英

sql case語句或if語句

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM