0
我正在使用此查詢來計算從當前學期到最後一個記錄總計的百分比變化。我需要對此查詢進行哪些更改以避免空值? 我已經嘗試使用一個子查詢,這是痛苦地緩慢。使用SQL查詢計算從一個記錄到下一個記錄的百分比變化
SELECT E2.Term AS Prev_Term,
E2.[Enrollment Total] AS Prev_Enrl_Tot,
E1.Term,
E1.Location,
E1.milestone_description,
E1.polling_date,
Round(((E1.[Enrollment Total] - [Prev_Enrl_Tot])
/[Prev_Enrl_Tot]) * 100,2) AS Percent_Change
FROM EnrollmentsByLocation E1
LEFT OUTER JOIN EnrollmentsByLocation E2
ON E1.Location = E2.Location
AND E1.milestone_description = E2.milestone_description
AND E1.Term - E2.Term = 1;
你想在百分比計算中避免空值(用null替換爲0)還是避免使用空值的行(使用where子句來消除空行)? – Vinnie 2012-07-06 17:00:38
不能用0替換空行(比如,用'COALESCE'),你會得到一個被零除的錯誤。如果前面的術語不存在,是否會使百分比更改爲100% - 那麼您應該使用簡單的「CASE」語句並輸出100? – 2012-07-06 17:14:35
你說你想避免NULL,但是你不會說你想做什麼樣的行爲。 – MatBailie 2012-07-06 17:15:45