【发布时间】:2014-06-04 23:42:20
【问题描述】:
我要选择一个活动的报名人数,由signup_limit给出,存储在activity_info,以及已经报名的人数,存储在@987654323 @。如果没有人注册,我希望它以注册数为零来计算,但正如我所拥有的那样,它反而完全删除了该行。我尝试使用左外连接,但得到了相同的结果。有什么建议吗?
SELECT info.code, info.signup_limit - COUNT(*) AS swag
FROM activity_info AS info
LEFT OUTER JOIN signups ON info.code = signups.activity_code, variables
WHERE
info.code IN (
SELECT schedule.code FROM schedule,variables WHERE schedule.date = variables.week
) AND variables.week = signups.date
GROUP BY signups.activity_code
更新:感谢 cmets 解决了这个问题。谢谢大家!
【问题讨论】:
-
不要混合显式 JOIN 语法和隐式(逗号)连接语法。事实上,根本不要使用逗号连接语法。
标签: mysql sql phpmyadmin wamp