set ANSI_NULLS ON set QUOTED_IDENTIFIER ON go ALTER FUNCTION [dbo].[FunGoodAvgFeeByDate] ( @Date char(8)='99/99/99' ) RETURNS TABLE AS RETURN SELECT GoodSysCode, CAST((CASE WHEN SUM(NetQuantity) <> 0 THEN (SUM(Fee * NetQuantity) / SUM(NetQuantity)) ELSE 0 END) AS money) AS AvgFee FROM VWInvoiceDetailComplete WHERE (NOT (FK_DocsysCode IS NULL)) AND (Type = 2) AND (InvoiceDate <= @Date) OR (Type = 2) AND (InvoiceDate <= @Date) AND (Amani = 1) GROUP BY GoodSysCode