我有这些表: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