Apr. 27th, 2013

seajey: Electronic Knight (Default)
Как-то столкнулся с необходимостью, в процедуре, задать порядок сортировки результирующего запроса через входящую переменную. Динамический SQL - не выход, а другого способа, кроме как лесенки IF'ов и множественного повторения SELECT'а не придумалось.

Задача возникла снова, и в этот раз получилось найти более лаконичный, в тоже время вполне понятный вариант. И так:

DECLARE @SortDirection dShortString SET @SortDirection = 'DESC' 

SELECT * 
FROM wlmUsers
ORDER BY 
CASE 
    WHEN @SortDirection = 'ASC' 
        THEN wlmUserID 
END ASC,
CASE    
    WHEN @SortDirection = 'DESC' 
        THEN wlmUserID 
END DESC

Profile

seajey: Electronic Knight (Default)
SeaJey

September 2013

S M T W T F S
123456 7
8 910 11121314
15161718192021
22232425262728
2930     

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jul. 23rd, 2017 10:37 am
Powered by Dreamwidth Studios