![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Вычисляемое поле в 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