有两个表/实体,场景非常简单。
poets 表 - 列: id、poet、nation
nations 表 - 列: id、nation、count
基本上,nations 到 poets 有一个自然的一对多映射。例如,有60个国家的1000位诗人。每个在 poets 中的诗人都被分配到一个国家,该国家通过 nation 字段包含在 nations 中的一个国家的 id 来表示。
nations 表中的 count 字段包含来自该国家的 poets 的数量。
我的问题是如何使用一个 SQL 查询来计算 poets 中每个国家的诗人数量,并更新该国家的相应计数?
我尝试了:
UPDATE poets, nations SET nations.count = COUNT(poets.id) GROUP BY poets.nation HAVING poets.nation = nations.id
但是它会给出#1064错误。尝试在某个地方组合WHERE子句,但它仍然无法工作。
有任何想法吗?