Możesz owinąć zapytanie w tę funkcję w ten sposób (MAMA aby zwrócić jedną wartość):
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
I użyj tej funkcji zamiast pola obliczeniowego - coś takiego:
alter table ManagerTaLog add WeeklyBudget as dbo.SumIt(Key1)
UWAGA
że będzie zabójcą wydajności dla takich zapytań:
select * from ManagerTaLog
Powinieneś zmienić swoją funkcję w taki sposób, to znaczy zaakceptować NIE varchar
wartość, ale NVARCHAR(255)
- ten sam typ co kolumna Manager. Wypróbuj.