Можете да обвиете заявката си във функцията по този начин (тя ИМА за връщане на една стойност):
CREATE FUNCTION dbo.SumIt(@Key1 varchar(max))
returns float
as
begin
return (select sum(UTOTALWBUD) from
CONTACT1 inner join
CONTACT2 on
CONTACT1.ACCOUNTNO=CONTACT2.ACCOUNTNO
where [email protected]
group by KEY3)
END
И използвайте тази функция вместо това с полето calc - нещо като това:
alter table ManagerTaLog add WeeklyBudget as dbo.SumIt(Key1)
ЗАБЕЛЕЖКА
че ще бъде убиецът на производителността за заявки като тази:
select * from ManagerTaLog
Трябва да промените функцията си по такъв начин, че приемете НЕ varchar
стойност, но NVARCHAR(255)
- същия тип като колоната Мениджър. Опитайте.