0
我是翻譯中的新手!我正在嘗試使用用戶定義函數和CustomerID作爲輸入參數進行計算。 如果我正在執行計算單行,計算似乎工作。使用UDF無法準確計算
但是,由於單個客戶可以撥打多個支持電話,因此客戶可能會收取多行費用。
如果我嘗試使用CustomerID 1進行計算,則得到的金額不準確。我將這些代碼顛倒過來,無法理解如何實現這一目標。
以下是表格的管理單元的鏈接:我是新的,無法附加圖像。 See table Snapshot to illustrated values and rows
這裏是功能:
CREATE FUNCTION dbo.CalulateTotal (@CustomerId INT)
RETURNS MONEY
AS
BEGIN
DECLARE @GetTotalCost MONEY
SELECT @GetTotalCost = ISNULL((SUM(SupportHours) * MAX(CostPerHour)),0) + ISNULL((SUM(MilesTraveled) * MAX(CostPer_Mile)),0)
+ ISNULL((SUM(Supplies) + MAX(Misc)),0)
FROM tblSupportCharges
WHERE CustomerId = @CustomerId
GROUP BY CustomerId
RETURN @GetTotalCost
END
Select dbo.CalulateTotal(1)
用於計算客戶ID 1的結果應該是13不15.
任何幫助將不勝感激。
謝謝你很多爲您的輸入。你的建議讓我重新表達,並得到了這個工作!太感謝了! – Asynchronous