Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 сортировка во вложенном запросе  [new]
Jonhson
Member

Откуда: Мск
Сообщений: 979
подскажите, как сделать такое:

select * from (
	select custid, region from sales.Customers
	where region is not null
	order by region
) x;


смысл в том, что нужна сортировка во вложенном запросе, а сервер ругается

Сообщение 1033, уровень 15, состояние 1, строка 94
Предложение ORDER BY не допускается в представлениях, встроенных функциях, производных таблицах, вложенных запросах и обобщенных табличных выражениях, если вместе с ним не указано предложение TOP, OFFSET или FOR XML.
6 дек 15, 18:22    [18520981]     Ответить | Цитировать Сообщить модератору
 Re: сортировка во вложенном запросе  [new]
Гавриленко Сергей Алексеевич
Member

Откуда:
Сообщений: 37254
Jonhson
нужна сортировка во вложенном запросе

Для каких целей она вам там нужна?
6 дек 15, 18:23    [18520984]     Ответить | Цитировать Сообщить модератору
 Re: сортировка во вложенном запросе  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31994
Jonhson
сервер ругается
...если вместе с ним не указано предложение TOP, OFFSET или FOR XML.
Ну, можно указать эти предложения.

Только зачем вам это, всё равно ведь результат будет несортированным?
6 дек 15, 18:45    [18521018]     Ответить | Цитировать Сообщить модератору
 Re: сортировка во вложенном запросе  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 8839
Бессмысленная конструкция.
7 дек 15, 11:23    [18522886]     Ответить | Цитировать Сообщить модератору
 Re: сортировка во вложенном запросе  [new]
Кто-то другой
Guest
Jonhson
подскажите, как сделать такое:

select * from (
	select custid, region from sales.Customers
	where region is not null
	order by region
) x;


смысл в том, что нужна сортировка во вложенном запросе, а сервер ругается

Сообщение 1033, уровень 15, состояние 1, строка 94
Предложение ORDER BY не допускается в представлениях, встроенных функциях, производных таблицах, вложенных запросах и обобщенных табличных выражениях, если вместе с ним не указано предложение TOP, OFFSET или FOR XML.


top 100 percent тебе в помощ
8 дек 15, 13:35    [18529418]     Ответить | Цитировать Сообщить модератору
 Re: сортировка во вложенном запросе  [new]
Bator
Member

Откуда: Порт пяти морей
Сообщений: 439
select * from (
	select custid, region from sales.Customers
	where region is not null
) x
order by region



Jonhson
подскажите, как сделать такое:

select * from (
	select custid, region from sales.Customers
	where region is not null
	order by region
) x;


смысл в том, что нужна сортировка во вложенном запросе, а сервер ругается

Сообщение 1033, уровень 15, состояние 1, строка 94
Предложение ORDER BY не допускается в представлениях, встроенных функциях, производных таблицах, вложенных запросах и обобщенных табличных выражениях, если вместе с ним не указано предложение TOP, OFFSET или FOR XML.
8 дек 15, 14:10    [18529726]     Ответить | Цитировать Сообщить модератору
 Re: сортировка во вложенном запросе  [new]
Akina
Member

Откуда: Зеленоград, Москва, Россия
Сообщений: 21254
Jonhson
смысл в том, что нужна сортировка во вложенном запросе

Она НЕ нужна.
В подзапросе она вообще не имеет смысла, а при передаче набора записей внешнему запросу она просто будет похерена.
8 дек 15, 14:57    [18530141]     Ответить | Цитировать Сообщить модератору
 Re: сортировка во вложенном запросе  [new]
a_voronin
Member

Откуда: Москва
Сообщений: 4902
Jonhson,

Ну тык она вам пишет, что сортировка возможна (и имеет смысл) только если вы используете одну из конструкций

TOP, OFFSET или FOR XML.
8 дек 15, 15:24    [18530369]     Ответить | Цитировать Сообщить модератору
 Re: сортировка во вложенном запросе  [new]
Pavel1211
Member

Откуда: Екатеринбург
Сообщений: 205
Кто-то другой,

Не поможет. 18343689
9 дек 15, 07:49    [18533112]     Ответить | Цитировать Сообщить модератору
 Re: сортировка во вложенном запросе  [new]
icprog
Member

Откуда:
Сообщений: 166
А если задать вычисляемое выражение в ТОР?
select * from (
	select top (select 100) percent custid, region from sales.Customers
	where region is not null
	order by region
) x
10 дек 15, 11:23    [18539299]     Ответить | Цитировать Сообщить модератору
 Re: сортировка во вложенном запросе  [new]
iap
Member

Откуда: Москва
Сообщений: 47145
icprog
А если задать вычисляемое выражение в ТОР?
select * from (
	select top (select 100) percent custid, region from sales.Customers
	where region is not null
	order by region
) x
Порядок во внешнем запросе всё равно не гарантирован
10 дек 15, 12:00    [18539577]     Ответить | Цитировать Сообщить модератору
 Re: сортировка во вложенном запросе  [new]
SIMPLicity_
Member

Откуда: (((@)))
Сообщений: 8880
Скажем так, сортировка в подзапросе имеет смысл только тогда, когда нам надо выбрать из него сколько-то по какому-то признаку. Возможно, автору вопроса нужны не первые записи а последние. Тогда в ордер бай пишем desc (сортировка по убыванию). Так мне говорят "голоса"
10 дек 15, 14:51    [18540813]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить