SeaJey (seajey) wrote,
SeaJey
seajey

  • Location:
  • Music:

Направление сортировки запроса через входящий параметр

Как-то столкнулся с необходимостью, в процедуре, задать порядок сортировки результирующего запроса через входящую переменную. Динамический 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


Кросспост отсюда. Комментировать можно здесь и на DW. Количество комментов там: comment count unavailable
Tags: sql, t-sql
Subscribe
  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

  • 5 comments