Форум: "Базы";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.03.21;
Скачать: [xml.tar.bz2];




Вниз

Не работает выполнение арифметических функций в SQL запросе 


AndrewK   (2002-02-21 11:28) [0]

Помогите. Такая проблема.

Есть запрос

Select
P.Name as "Изделие",
isnull(Min(......), 0) as "На складе",
isnull(Sum(......), 0) as "Всего",
from Products P
group by P.Name

(.....) - некоторый запрос c агрегатной функцией.

Надо сделать четвертый столбец который бы показывал разницу между столбцами "Всего" и "На складе".

Запрос, приведенный ниже, не работает

Select
P.Name as "Изделие",
isnull(Min(......), 0) as F1,
isnull(Sum(......), 0) as F2,
(F2 - F1)
from Products P
group by P.Name


Может я не могу оперировать со столбцами, которые получают с помощью таких функций? Это как-то странно.

Или я что не так делаю?



Bachin   (2002-02-21 13:01) [1]

какую ошибку выдает? (нет под рукой MSSQL)



AndrewK   (2002-02-21 13:05) [2]

Server: Msg 207, Level 16, State 3, Line 1
Invalid column name "F2".
Server: Msg 207, Level 16, State 1, Line 1
Invalid column name "F1".



Reindeer Moss Eater   (2002-02-21 13:10) [3]

В Group By нельзя алиасы использовать



AndrewK   (2002-02-21 13:12) [4]

И как быть в таком случае?



Eva   (2002-02-21 13:20) [5]

а так пробовал?

Select
P.Name as "Изделие",
isnull(Min(......), 0) as F1,
isnull(Sum(......), 0) as F2,
isnull(SUM(...)- MIN(...))
from Products P
group by P.Name




AndrewK   (2002-02-21 13:41) [6]

Производительность резко снизилась



Bachin   (2002-02-21 13:47) [7]

чуть хитрее :)))

select
Name, f1, f2, f1 - f2 as f3
from
( select
p.Name ,
isnull(min(......), 0) as f1,
isnull(sum(......), 0) as f2
from Products p (nolock)
group by p.Name ) a



AndrewK   (2002-02-21 14:23) [8]

Заработало !!!

Огромное всем СПАСИБО !!!
(Особенно Bachin)




Форум: "Базы";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.03.21;
Скачать: [xml.tar.bz2];




Наверх





Память: 0.72 MB
Время: 0.015 c
14-66962          Вячеслав              2002-02-06 15:11  2002.03.21  
RX от Polaris-а


1-66931           Михаил123             2002-03-06 18:19  2002.03.21  
Как в Delphi сделать DLL с функциями возвращаемыми VOID


6-66951           Lamok(real)           2002-01-06 09:41  2002.03.21  
Про почту


1-66841           Random                2002-03-07 19:09  2002.03.21  
Вопрос по доступу к компонентам


3-66797           Ross                  2002-02-23 15:32  2002.03.21  
Варианты передачи данных в Word