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

Откуда:
Сообщений: 73
Всем привет. У меня такой вопрос. Я только начал изучать MSSQL перешел с Microsoft Access.
Там я спокойно мог сделать такую штуку:

Select max(q1)
From (Select count(some_name) as q1
From some_table
Group by some_name)

Т.е. я мог from взять таблицу, которая основывалась на запросе. Как это сделать в MSSQL? Я читал, что так делать нельзя? Нужно создавать отдельно таблицу, и как-то потом её использовать?
16 окт 12, 17:26    [13328457]     Ответить | Цитировать Сообщить модератору
 Re: Как делать вложенность  [new]
Читатель неместный
Guest
Select max(q1)
From (Select count(some_name) as q1
From some_table
Group by some_name)
as a
16 окт 12, 17:29    [13328485]     Ответить | Цитировать Сообщить модератору
 Re: Как делать вложенность  [new]
iap
Member

Откуда: Москва
Сообщений: 47001
titans
Всем привет. У меня такой вопрос. Я только начал изучать MSSQL перешел с Microsoft Access.
Там я спокойно мог сделать такую штуку:

Select max(q1)
From (Select count(some_name) as q1
From some_table
Group by some_name)

Т.е. я мог from взять таблицу, которая основывалась на запросе. Как это сделать в MSSQL? Я читал, что так делать нельзя? Нужно создавать отдельно таблицу, и как-то потом её использовать?
Всё точно так же, но после подзапроса надо написать какие-нибудь буквы (букву) - алиас.
В данном случае, однако, можно проще:
Select Top(1) some_name,count(some_name) as q1
From some_table
Group by some_name
Order By count(some_name) desc;
Это будет максимальное количество записей для some_name IS NOT NULL
16 окт 12, 17:31    [13328499]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить