powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / ORDER BY @parameter
6 сообщений из 6, страница 1 из 1
ORDER BY @parameter
    #40057060
Tketano
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день.

Ввелся в ступор на примитивном фрагменте кода, где необходимо добавить сортировку по сложному выражению (DESC):
Код: sql
1.
2.
3.
4.
SELECT TOP 1
       @p = <сложный подзапрос>
FROM   T
ORDER BY ...


Сразу пришла мысль написать ORDER BY 1. Работает. Но MSSMS подозрительно предупреждает кодом "Позиция предложения ORDER BY с номером 1 превышает допустимое число элементов в списке выбора" и подсвечивает ORDER BY красным цветом ошибки.

Все таки как правильно указать ORDER BY в данном случае? Очевидно, что опускать сложное выражение и в блок ORDER BY никакого желания нет.
...
Рейтинг: 0 / 0
ORDER BY @parameter
    #40057063
Гавриленко Сергей Алексеевич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Убрать подзапрос / выражение в apply или написать сверху банальное

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
SELECT TOP 1
  @p = a.поле
from (
  select
       поле = <сложный подзапрос>
  FROM   T
) a
ORDER BY ... a.поле ...



З.Ы. order by 1 работает нормально, но есть риск косякнуть с банальной перстановкой полей, когда поле не одно в рекордсете.
...
Рейтинг: 0 / 0
ORDER BY @parameter
    #40057064
Tketano
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Гавриленко Сергей Алексеевич,

Это конечно на поверхности. Как и вариант с CTE. Но выглядит как усложнение на ровном месте))
...
Рейтинг: 0 / 0
ORDER BY @parameter
    #40057069
Гавриленко Сергей Алексеевич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Tketano
Гавриленко Сергей Алексеевич,

Это конечно на поверхности. Как и вариант с CTE. Но выглядит как усложнение на ровном месте))
Вам шашечки или ехать?
...
Рейтинг: 0 / 0
ORDER BY @parameter
    #40057070
Фотография Relic Hunter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
order by case
Tketano
Гавриленко Сергей Алексеевич,

Это конечно на поверхности. Как и вариант с CTE. Но выглядит как усложнение на ровном месте))
...
Рейтинг: 0 / 0
ORDER BY @parameter
    #40057083
Владислав Колосов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Tketano,

Код: sql
1.
2.
3.
4.
5.
6.
7.
SET @p = 
(
SELECT TOP (1)
       <сложный подзапрос>
FROM   T
ORDER BY ....
)
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / ORDER BY @parameter
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]