2015-05-27 64 views
0

我正在嘗試返回2個總計字段的百分比。我已經試過代碼如下:T-SQL 2個總計字段的百分比錯誤

CAST(
    COUNT(et.NotEnrolled) + 
    COUNT((etne.EmployeeID)) * 100.0/Count(et.EmployeeID) 
    as numeric (10,2)) as 'Not Enrolled %' 

每個字段的計數:

et.NotEnrolled = 151 
etne.EmployeeID = 707 

我的答案應該是21.36,但我得到128.68爲我的答案。我的代碼中有任何建議或明顯的缺陷?

+3

X + Y/Z = X +(Y/Z)。如果您希望添加先發生,您需要(x + y)/ z。 –

回答

3

我覺得你的括號有問題。

我想這應該是這樣的:

CAST((COUNT(et.NotEnrolled)+COUNT(etne.EmployeeID))*100.0/Count(et.EmployeeID) as numeric (10,2)) as 'Not Enrolled %' 
+0

括號是以不需要的順序執行的。但你的解決方案工作。謝謝。 – SQLUser44