Модераторы: Akina
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Переписать запрос одним select 
V
    Опции темы
lv151
Дата 28.6.2013, 10:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 916
Регистрация: 11.2.2008

Репутация: нет
Всего: 2



Возможно ли это переписать одним селектом?

Код

select field1, field2, field3
into #Table2
from Table1

select field1, field2, max(field3) as sum
into #Table3
from #Table2
group by field1, field2

select t2.field1, t2.field2, t3.sum
FROM #Table2 t2
INNER JOIN #Table3 t3
ON t2.field1 = t3.field1, 
   AND t2.field2 = t3.field2
 


Это сообщение отредактировал(а) lv151 - 28.6.2013, 10:39
PM MAIL   Вверх
Zloxa
Дата 28.6.2013, 10:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Чо?
****


Профиль
Группа: Завсегдатай
Сообщений: 3473
Регистрация: 12.9.2008

Репутация: 10
Всего: 161



Цитата(lv151 @  28.6.2013,  11:37 Найти цитируемый пост)
Возможно ли это переписать одним селектом?

да

Добавлено @ 11:03
Код

select field1, field2, max(field3) over (partition by field1, field2) as sum from Table1


Это сообщение отредактировал(а) Zloxa - 28.6.2013, 11:05


--------------------
Достоверно известно, что 89% людей доверяют статистике взятой с потолка smile
PM   Вверх
lv151
Дата 28.6.2013, 14:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 916
Регистрация: 11.2.2008

Репутация: нет
Всего: 2



Код

select field1, field2, max(field3) over (partition by field1, field2) as sum, 
                               max(field4) over (partition by field1, field2) as sum1
from Table1


А возможно ли указать over (partition by field1, field2) для нескольких полей, чтобы не делать для каждого over (partition by field1, field2) ?

Это сообщение отредактировал(а) lv151 - 28.6.2013, 14:38
PM MAIL   Вверх
Zloxa
Дата 28.6.2013, 17:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Чо?
****


Профиль
Группа: Завсегдатай
Сообщений: 3473
Регистрация: 12.9.2008

Репутация: 10
Всего: 161



Цитата(lv151 @  28.6.2013,  15:37 Найти цитируемый пост)
А возможно ли указать over (partition by field1, field2) для нескольких полей, чтобы не делать для каждого over (partition by field1, field2) ?

нет

Это сообщение отредактировал(а) Zloxa - 28.6.2013, 17:26


--------------------
Достоверно известно, что 89% людей доверяют статистике взятой с потолка smile
PM   Вверх
lv151
Дата 1.7.2013, 10:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 916
Регистрация: 11.2.2008

Репутация: нет
Всего: 2



Спасибо!
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "MS SQL"
Akina

Akina

Запрещается!

Публиковать ссылки и обсуждать взлом чего бы то ни было.

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы составления неспецифических запросов рассматриваются здесь
  • Используйте теги [code=sql][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Zloxa, Akina.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | MS SQL Server | Следующая тема »


 




[ Время генерации скрипта: 0.1016 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.