请求为2部分:如何在WHERE子句中编写条件?
记录应脱落报告_ * 如果记录已过期, 如果* _
RecordStatus != 'Funded'
。记录应留在报告 _ 如果
RecordStatus = 'Funded'
* ,没有*PURCHASEDATE
,如果记录已过期(在过去是从**currentdate
)。
我试过这样做CASE
但这个请求似乎是布尔逻辑,因此,不切实际。我试图寻找到IF...THEN...ELSE
,但我失去了如何做到这一点。我花了整整两天的时间试图让这个工作,我什么都没有得到。有没有人帮助过我,然后解释它?
下面是失败的一个简单的例子(是的,我完全理解这种失败,因为一个条件,不是表达式):
Select distinct ...
from ... --with joins
where ...
and case when RecordStatus != 'Funded' then getdate() <= EXPIRATIONDATE else ?? end
谢谢!!
所以,你有'RecordStatus'具有'资金'或其他的状态,你有'PurchaseDate'有一个日期或'null'的值。过期日期是一列还是您在查询中提供的参数? –
在你的条件的where子句中使用'AND'&'OR'。 –