alter function dbo.fGetMianginMozoon(@kal_Id int) returns decimal(19,4) as begin -- bargeh declare @sumMabalegh decimal(19,4),@sumTedad decimal(19,4) select @sumMabalegh = sum(isnull(d.mablagh,0)*isnull(d.tedad,0)*isnull(d.meghdar1,1)*isnull(d.meghdar2,1)), @sumTedad = sum(isnull(d.tedad,0)*isnull(d.meghdar1,1)*isnull(d.meghdar2,1)) from bargeh b join bargehDetail d on d.Bar_ID =b.ID where d.Dom_ID_Noe = 666 and d.Kal_ID = @kal_Id and b.Dom_ID_noe in(31,29,791,1162) and -- خرید - برگشت از فروش - اضافات انبارگرداني - خرید کالای امانی - b.Dom_ID_vaziat<>101--deleted --mojoodiAvalDoreh set @sumMabalegh=isnull(@sumMabalegh,0)+ isnull(( select sum(isnull(k.gheymatAvalDoreh,0)*isnull(k.mojoodiAvalDoreh,0)) from kalaDarAnbar k where k.Kal_ID = @kal_Id ),0) set @sumTedad=isnull(@sumTedad,0)+ isnull((select sum(isnull(k.mojoodiAvalDoreh,0)) from kalaDarAnbar k where k.Kal_ID=@kal_Id ),0) return case when @sumTedad=0 then 0 else @sumMabalegh/@sumTedad end end