我有這些表:SQL服務器:SUM函數和數據從多個表
Hraci:
- IDHrace(INT)
- Jmeno(VARCHAR)
Ucast_Zapas:
-
個
- ID_Hrace_zapas(INT)
- branky(INT)
我想SUM
這多少 「branky」 WHERE ID_Hrace_zapas=IDHrace and Jmeno="karel"
例如...是我的代碼:
SELECT
SUM(Ucast_Zapas.Branky), Ucast_Zapas.ID_Hrace_zapas, Hraci.Jmeno,Hraci.IDHrace
FROM
Hraci, Ucast_Zapas
WHERE
(Ucast_Zapas.ID_Hrace_zapas=Hraci.IDHrace) AND (Hraci.Jmeno='smajlik');
我不知道,問題出在哪裏,SQl寫這個錯誤:
Column 'Ucast_Zapas.ID_Hrace_zapas' is invalid in the select list because it is not contained in either an aggregate function or the GROUP BY clause.
經驗法則:當在SQL中使用聚合函數時,總是在非聚合列(也就是普通列)上使用GROUP BY。在這種情況下,你很可能需要跳過選擇ID,因爲那麼你可以不用再玩SUM()函數 – Najzero 2013-03-27 10:31:27
[踢壞壞習慣:使用舊式JOIN](http://sqlblog.com/ blogs/aaron_bertrand/archive/2009/10/08/bad-habits-to-kick-using-old-style-joins.aspx) - 舊式*逗號分隔的table * style列表已停止使用ANSI- ** 92 ** SQL標準(超過** 20年前**) – 2013-03-27 10:32:39