У меня есть следующий SP
CREATE PROCEDURE GetAllHouses
set @webRegionID = 2
set @sortBy = 'case_no'
set @sortDirection = 'ASC'
AS
BEGIN
Select
tbl_houses.*
from tbl_houses
where
postal in (select zipcode from crm_zipcodes where web_region_id = @webRegionID)
ORDER BY
CASE UPPER(@sortBy)
when 'CASE_NO' then case_no
when 'AREA' then area
when 'FURNISHED' then furnished
when 'TYPE' then [type]
when 'SQUAREFEETS' then squarefeets
when 'BEDROOMS' then bedrooms
when 'LIVINGROOMS' then livingrooms
when 'BATHROOMS' then bathrooms
when 'LEASE_FROM' then lease_from
when 'RENT' then rent
else case_no
END
END
GO
Теперь все в этом SP работает, но я хочу иметь возможность выбирать, хочу ли я сортировать ASCENDING или DESCENDING.
Я действительно не могу найти никакого решения для этого с помощью SQL и не могу найти ничего в Google.
Как вы можете видеть, у меня есть параметр sortDirection, и я пытался использовать его несколькими способами, но всегда с ошибками ... Испытательные выражения Case, операторы IF и так далее, но это усложняется тем фактом, что я хочу вставить ключевое слово.
Помощь будет очень цениться, я попробовал все то, что приходит в голову, но не смог понять ее правильно.