Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Вычисляемое поле в SQL [D7, MSSQL]


yurikon ©   (2011-07-12 13:55:00) 

Добрый день!

Имеется запрос:


SELECT F1,  sum(f3),  'F2' =
 CASE When sum(f3) > 0 then A
         When sum(f3) < 0 then B END
FROM table1


и sum(f3) может несколько раз встречаться в запросе. Собственно, возник вопрос - сервер будет несколько раз вычислять эту сумму или сообразит, что она уже посчитана?

Возможно, есть более грамотный вариант этого запроса?

С уважением, Юрий.


stas   (2011-09-21 12:05:00) [1]

Труп Васи Доброго ©   (21.09.11 11:41) [3]
В MSSQL такое не прокатит.

yurikon   (12.07.11 13:55)
Должен понять.
1. 'F2' =зачем кавычки?
Проверь скорость и посмотри план.
свое го варианта
и этого
Select F1,SUMM,CASE When sum(SUMM) > 0 then A When sum(SUMM) < 0 then B END
FROM
(
SELECT F1,  sum(f3) as SUMM,
FROM table1
) AS Q


Труп Васи Доброго   (2011-09-21 11:41:00) [2]

не знаю тонкостей MSSQL, но может такое прокатит
SELECT F1,  sum(f3) As summ,  'F2' =
CASE When summ > 0 then A
        When summ < 0 then B END
FROM table1


b z   (2011-07-12 14:23:00) [3]

with  ( select ) select
ps: MSSQL >= 2005


Медвежонок Пятачок   (2011-07-12 14:13:00) [4]

select from select


Наверх

Титульная страница Поиск, карта сайта Написать письмо