我需要在更新声明上提供一些帮助。我有以下查询
update totals
set contacts = (SELECT
COUNT(*)
FROM contact_events c
JOIN users u
ON c.user = u.id
GROUP BY c.user)
where c.user = ext_id;
但是当我运行它时,我会在where子句'中找到未知的列c.user。
但是,我似乎无法在该连接上应用别名,所以我必须在这里使用语法做错事。
答案 0 :(得分:1)
您必须使用JOIN
来执行此类操作
UPDATE totals t
INNER JOIN (SELECT c.user,
COUNT(*) tot
FROM contact_events c
JOIN users u ON c.user = u.id GROUP BY c.user) u ON u.user = t.ext_id
SET t.contacts = u.tot