Anda dapat membungkus kueri Anda ke dalam fungsi seperti ini (itu TELAH untuk mengembalikan satu nilai):
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
Dan gunakan fungsi ini sebagai gantinya dengan bidang kalk - sesuatu seperti ini:
alter table ManagerTaLog add WeeklyBudget as dbo.SumIt(Key1)
CATATAN
bahwa itu akan menjadi pembunuh kinerja untuk pertanyaan seperti itu:
select * from ManagerTaLog
Anda harus mengubah fungsi Anda sedemikian rupa, yaitu menerima TIDAK varchar
nilai, tetapi NVARCHAR(255)
- jenis yang sama dengan kolom Manajer. Cobalah.