Форум: "Базы";
Поиск по всему сайту: 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.022 c
1-66936           Man-In-Red            2002-03-06 21:51  2002.03.21  
Как в label2 вставить текст с Label1 до слова ‘Конец’, а в Label3 после этого слова?


1-66822           Beka                  2002-03-05 11:51  2002.03.21  
Помогите пожалуйста. Я написалкод который виводит текст под углом


14-66964          MBo                   2002-02-06 13:07  2002.03.21  
BrainBench


3-66736           dmitriyk              2002-02-18 02:49  2002.03.21  
Никто не встречал компонент TDBGrid у которог можно былобы вставить фоновую картинку ?


1-66909           DPro                  2002-03-06 13:40  2002.03.21  
День добрый колеги!