表countries
包含有关不同国家和另一列的信息:
ALTER TABLE countries
ADD COLUMN three_rivers BOOL DEFAULT FALSE
我想更新在其境内有3条以上河流的国家的值。
表rivers
包含有关河流的信息,表countries_rivers
确保原始表之间的连接。它有两列,river_id
,其中countries_rivers.river_id
是rivers.id
,countries_rivers.country_code
是countries.country_code
。
这会选择我想要的结果:
SELECT country_code,
COUNT(country_code) AS counter
FROM countries_rivers
GROUP BY country_code
HAVING COUNT(country_code)>3
ORDER BY counter DESC
如何使用子查询将countries.three_rivers
更新为counter
?
比如UPDATE countries SET three_rivers=1 WHERE ...
。
2条答案
按热度按时间mgdq6dx11#
可以使用子查询进行更新。
rekjcdws2#
以下查询应该可以工作:
该子查询将获得拥有3条河流的国家的代码,并且查询将相应地更新。