主要答案
外键 in对应于表中sending_fresh
。agent_id
id
agents
您缺少 JOIN 条件并且缺少 GROUP BY 子句:
SELECT SUM(s.cc), a.team
FROM sending_fresh AS s
JOIN agents AS a ON a.id = s.agent_id
WHERE a.team = 'team1'
AND s.date = '2012-05-12'
GROUP BY a.team;
在我们获得有关加入的信息之前,我写道:
SELECT SUM(s.cc), a.team
FROM sending_fresh AS s
JOIN agents AS a ON a.team = s.team -- Guess at join columns!
WHERE a.team = 'team1'
AND s.date = '2012-05-12'
GROUP BY a.team;
由于您错过了加入条件,我不得不猜测它是什么。相反,它可能是a.team_id = s.team_id
或类似的东西。
如果加入是 on sending_fresh.team
,如果你愿意,你可以完全避免加入。
SELECT SUM(cc), team
FROM sending_fresh
WHERE team = 'team1'
AND date = '2012-05-12'
GROUP BY team;
现在更详细地了解模式,这种简化是无效的。
普通的留言
请注意,使用显式 JOIN 意味着您不应该忘记连接条件。您不应在 FROM 子句中使用逗号列表表示法。您需要了解它才能识别古老的 SQL。你不应该在新的 SQL 中使用它,你应该升级旧的 SQL 以使用显式连接。
请注意,如果查询中有 N 个表,则应该有 N-1 个连接条件。