Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Order by во вложенном селекте / 4 сообщений из 4, страница 1 из 1
01.07.2002, 12:46:19
    #32034484
BootMaker
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Order by во вложенном селекте
Который раз встречаю упоминание о том, что во вложенных селектах order by не работает. Опять же:
"BOL
Subquery Rules
A subquery is subject to a number of restrictions:
....
- ORDER BY can only be specified if TOP is also specified
...." (только что выдрал из форума)
Но ничего об этом не зная я благополучно делаю:
"select Name from (select top 1500 Name from
(select top 3000 Name from tmp order by Name)a
order by Name desc) b order by Name"
- и все благополучно работает. Может, я не понимаю, и речь в BOL-е не о том?
...
Рейтинг: 0 / 0
01.07.2002, 13:09:33
    #32034490
Ignat
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Order by во вложенном селекте
Если я правильно тебя понял.
На самом деле order by как раз только и работает в этих случаях, если оперделен также top n
...
Рейтинг: 0 / 0
02.07.2002, 10:51:30
    #32034665
AnKa
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Order by во вложенном селекте
Совершенно верно, ORDER BY во вложенном запросе работает только с TOP n. Если же необходимо вернуть все и упорядочить, используется

Код: plaintext
1.
2.
3.
4.
5.
SELECT.... 
FROM
(SELECT TOP  100  PERCENT 
FROM Tab1
 ORDER BY Field1
) as T1


Но наверняка, в этом случае (100 %) ORDER BY во вложенном запросе смысла не имеет - лучше сделать сортировку во внешнем запросе.
...
Рейтинг: 0 / 0
02.07.2002, 10:54:11
    #32034667
AnKa
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Order by во вложенном селекте
Поправочка:
Код: plaintext
1.
2.
3.
4.
5.
SELECT.... 
FROM
(SELECT TOP  100  PERCENT *
FROM Tab1
 ORDER BY Field1
) as T1
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Order by во вложенном селекте / 4 сообщений из 4, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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