Форум: "Базы";
Текущий архив: 2018.04.15;
Скачать: [xml.tar.bz2];
ВнизВычисляемое поле в SQL Найти похожие ветки
← →
yurikon (2011-07-12 13:55) [0]Добрый день!
Имеется запрос:
SELECT F1, sum(f3), "F2" =
CASE When sum(f3) > 0 then A
When sum(f3) < 0 then B END
FROM table1
и sum(f3) может несколько раз встречаться в запросе. Собственно, возник вопрос - сервер будет несколько раз вычислять эту сумму или сообразит, что она уже посчитана?
Возможно, есть более грамотный вариант этого запроса?
С уважением, Юрий.
← →
Медвежонок Пятачок © (2011-07-12 14:13) [1]select from select
← →
b z (2011-07-12 14:23) [2]with ( select ) select
ps: MSSQL >= 2005
← →
Труп Васи Доброго © (2011-09-21 11:41) [3]не знаю тонкостей MSSQL, но может такое прокатит
SELECT F1, sum(f3) As summ, "F2" =
CASE When summ > 0 then A
When summ < 0 then B END
FROM table1
← →
stas © (2011-09-21 12:05) [4]Труп Васи Доброго © (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
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2018.04.15;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.001 c