SUM() и подзапрос

Tung
Дата: 12.10.2003 13:16:13
Можно ли как-нибудь в функцию подзапрос засунуть?

исходно у меня было
Select sum(pr.price) from ..... inner join .....


а теперь появилась необходимость

Select 

sum(
(Select case when ed.discount is null then sr1.price else sr1.price*ed.discount1 end from sroki as sr1 where pr.yearid=sr1.yearid and sr1.n=1)
) from ..... inner join .....


Cannot perform an aggregate function on an expression containing an aggregate or a subquery.

Есть какаие-нибудь альтернативы
GRG
Дата: 12.10.2003 14:40:28
Podzapros, k primery, mozno oformit v vide fynkcii. Togda polychitsa
select sum(dbo.function(par1, par2, ...)) from ...
ququ
Дата: 12.10.2003 15:04:52
Попробуйте вынести запрос с sum "наружу"
Select sum(x.sm), ..., ...
from (
select ...,...,
(Select case when ed.discount is null then sr1.price else sr1.price*ed.discount1 end from sroki as sr1 where pr.yearid=sr1.yearid and sr1.n=1) as sm
from ..... inner join .....
) x
group by ...,...
Если только со скобками не напутал. :-)