我正在人力資源基礎上工作。爲什麼我無法輸入像這樣的陳述?WHERE子句導致錯誤「%s:無效標識符」
SELECT id_dzialu, sum(placa) as suma
FROM pracownicy
WHERE suma = 8000
GROUP BY id_dzialu
當我嘗試它,它會返回一個錯誤: "%s: invalid identifier"
我正在人力資源基礎上工作。爲什麼我無法輸入像這樣的陳述?WHERE子句導致錯誤「%s:無效標識符」
SELECT id_dzialu, sum(placa) as suma
FROM pracownicy
WHERE suma = 8000
GROUP BY id_dzialu
當我嘗試它,它會返回一個錯誤: "%s: invalid identifier"
您需要使用HAVING子句。
對於Oracle,查詢應該是
select id_dzialu, sum(placa) as suma from pracownicy group by id_dzialu having sum(placa) = 8000
總之,你不能因爲在where
子句處理尚未執行的聚集時間參考在where
條款聚合函數。改爲使用having
子句。
謝謝你1個問題。爲什麼如果我輸入 select id_dzialu, sum(placa) as suma from pracownicy group by id_dzialu having suma = 80000
我仍然得到一個錯誤? –
user1306431
2012-04-01 15:37:48
這將取決於您使用的DBMS。在Oracle中,您將在MySQL中發生錯誤,而您不會。必須解決的問題是「總和(平均)= 80000」。檢查出。 – 2012-04-01 15:41:52
你應該刪除where子句,它是8000而不是80000 – 2012-04-01 15:25:00
@AmritpalSingh謝謝 – 2012-04-01 15:26:24