Мой Kbyte.Ru
Рассылка Kbyte.Ru
Группы на Kbyte.Ru
Партнеры Kbyte.Ru
Реклама
Сделано руками
Сделано руками
> Исходные коды - Алексей Немиро -

Microsoft SQL Server - Общие вопросы

Все примеры / Общие вопросы

Динамическая сортировка в MS SQL Server

Автор: Алексей Немиро | добавлено: 08.09.2010, 17:33 | просмотров: 2779 (1+) | комментариев: 2 | рейтинг: *x10
Пример показывает, как можно сделать динамическую сортировку (ORDER BY) в MS SQL Server.

Код

DECLARE @asc int;
SET @asc = 1; -- 1 - сортировка ASC, 0 - сортировка DESC

SELECT * FROM tbl1
ORDER BY 
CASE WHEN @asc = 1 THEN date_created END ASC, 
CASE WHEN @asc <> 1 THEN date_created END DESC;
Об авторе

Алексей Немиро

Интернет-деятель. Автор многочисленных статей и переводов статей по программированию и информационным технологиям. Работы Алексея можно найти в популярных печатных изданиях компьютерной тематики. Автор проекта Kbyte.Ru.
Сейчас Алексей занимается профессиональным Web-программированием на базе технологий .NET Framework. Иногда пишет различные программки и компоненты для Windows и Android. В свободное время занимается Web-дизайном, увлекается фото- и видеосъемкой.

См. также:
Профиль автора
Алексей Немиро
Последние комментарии (всего: 2)

Добавлять комментарии могут только зарегистрированные пользователи сайта.
Если у Вас уже есть учетная запись на Kbyte.Ru, пройдите процедуру авторизации OpenID.
Если Вы еще не зарегистрированы на Kbyte.Ru - зарегистрируйтесь.

Ок. Всё это, конечно, замечательно. А если надо сделать сортировку по нескольким полям?
Если по нескольким полям проще сделать запрос динамически.

DECLARE @q nvarchar(max);
SET @q = 'SELECT * FROM table1';
-- и далее формировать запрос как угодно
EXEC sp_executesql @q;
Авторизация
 
OpenID
Зарегистрируйся и получи 10% скидку на добавление своего сайта в каталоги! Подробнее »
Поиск по сайту
Люди на Kbyte.Ru
Реклама
Счетчики