Сразу же - я новичок в «случае, когда».Я прочитал следующее: Как мне выполнить IF ... THEN в SQL SELECT? однако он не ответил на мой вопрос.
По сути, что я пытаюсь сделатьчто-то вроде следующего:
select
section_name, *
from
property.lease_period lp
where
lp.lease_current_stop_date < getdate() and (lp.lease_status = 'Active' or lp.lease_status = 'Overholding')
and lp.period_id = @period_id
and lp.building_id = @building_id
and not exists
(
select 1
from lease_deal.lease
where lp.suite_name = tenancy_reference
and lp.building_id = building_id
)
case when(@section_name <> 'ALL')
then(and upper(section_name) = upper(@section_name))
end
order by period_id desc
Возможно ли это?Если так, что я делаю не так?
Tl; dr:
По сути, я хотел бы:
and upper(section_name) = upper(@section_name)
Для применения только к моей гдепредложение, когда @section_name не равно 'ALL'