2013-11-20 103 views
0

我以前見過這個問題,但我看到的解決方案並不適合我。所以我要問我的情況....我不斷收到錯誤消息130,級別15,狀態1,第2行 當我嘗試執行時,無法對包含聚合或子查詢的表達式執行聚合函數我的查詢。我嘗試了幾次嘗試。這是基於上述的評論是我曾嘗試平均和一起計數

--Not working 
Select Name, 
coalesce(COUNT(CASE WHEN CompletedCall IS NULL THEN AVG(CallAttempt) END), 0) 
FROM hotwire.calldatabase 
GROUP BY Name 
ORDER BY Name 

--This is also not working 
Select Name, 
COUNT(CASE WHEN CompletedCall IS NULL THEN AVG(CallAttempt) Else 0 END) 
FROM hotwire.calldatabase 
GROUP BY Name 
ORDER BY Name 

--This is also not working 
Select Name, 
COUNT(CASE WHEN CompletedCall IS NULL THEN AVG(CallAttempt) Else null END) 
FROM hotwire.calldatabase 
GROUP BY Name 
ORDER BY Name 
+0

你到底想幹什麼?你的預期產出是多少? –

+0

我想要呼叫的人的姓名(位於姓名字段中),並且如果CompletedCall爲空(表示他們正在呼叫的人未接聽電話),則平均CallAttempts。這有助於澄清? – MasterOfStupidQuestions

+0

如果* THE * CompletedCall爲空,您是什麼意思?當然你有不止一個記錄,否則你平均得到了什麼?但是你不能決定根據哪一行發生的情況來獲得平均值。基本上,你所說的話對我來說沒有任何意義。你是否說你想對ComplatedCall爲空的所有記錄使用callattempts的名稱作爲平均值? *這個查詢是可能的並且合理。 – aquinas

回答

1

Select Name, AVG(CallAttemps) 
FROM hotwire.calldatabase 
WHERE CompletedCall IS NULL 
GROUP BY Name 
ORDER BY Name