Запрос 2 часть:Как написать условия в предложении WHERE?
отчеты должны упасть отчет _ * Если запись истекло И если * _
RecordStatus != 'Funded'
.Запись должна оставаться на отчете _ Если
RecordStatus = 'Funded'
* , не имеет *PURCHASEDATE
, и если запись истекла (в прошлом от **currentdate
).
Я пытался сделать это с CASE
, но этот запрос, как представляется булевой логики, следовательно, нецелесообразно. Я попытался заглянуть в IF...THEN...ELSE
, но я потерялся, как это сделать. Я потратил 2 полных дня, пытаясь заставить это работать, и я ничего не придумал. Есть ли кто-нибудь, кто помогает мне в этом, а затем объясняет это?
Ниже приведен простой пример отказа (и да, я понимаю, это полный сбой из-за состояния, а не выражение):
Select distinct ...
from ... --with joins
where ...
and case when RecordStatus != 'Funded' then getdate() <= EXPIRATIONDATE else ?? end
Спасибо !!
Итак, у вас есть «RecordStatus», который имеет статус «Funded» или что-то еще, и у вас есть «PurchaseDate», у которого есть значение даты или «null». Является ли дата истечения срока действия столбцом или это параметр, который вы указываете в запросе? –
используйте 'AND' &' OR' в предложении where для ваших условий. –