【发布时间】:2009-08-01 08:33:34
【问题描述】:
有 2 个表/实体,非常简单的场景。
表格诗人 - 列:id、poet、nation
表nations - 列:id、nation、count
基本上,nations 到 poets 具有一对多的映射,自然而然。例如,有来自 60 个国家的 1000 位诗人。 poets 中的每个诗人都由包含 nations 中的一个国家的 id 的国家字段分配给一个国家。
nations 的计数字段包含来自该国家的 poets 中诗人的数量。
我的问题是如何仅使用一个 SQL 查询来统计 poets 中按国家/地区划分的诗人数量,然后更新该国家/地区的相应计数?
我试过了:
UPDATE poets, nations SET nations.count = COUNT(poets.id) GROUP BY poets.nation HAVING poets.nation = nations.id
但它给出了 #1064 错误。还尝试在某处结合 WHERE 子句,但它仍然拒绝工作。
有什么想法吗?
【问题讨论】: