gpt4 book ai didi

mysql - 基于来自多个表的数据在 SQL 中更新

转载 作者:行者123 更新时间:2023-11-30 22:23:52 25 4
gpt4 key购买 nike

我对 (My)SQL 中的更新操作有疑问。

假设我们有两个包含 3 列的表:

  • 村庄(村庄名称、河流深度、国家/地区代码)

  • 国家(国家代码、国家名称、人口)

我想更新表“village”中的所有列“riverdepth”(但仅限意大利的村庄)。必须从“国家”表中检索国家代码,因为我们还不知道意大利的国家代码。

假设去年“意大利”全国的河水深度总减少量为 10.000 升,所有村庄的河水深度减少量相同。

这是我到目前为止想出的:

UPDATE village
SET riverdepth = riverdepth - (10000 / COUNT(villagename))
WHERE countrycode(
SELECT countrycode
FROM country
WHERE countryname = 'italy')

虽然这会返回错误“无效使用组函数”

最佳答案

使用更新连接:

UPDATE village JOIN country USING(countrycode)
SET riverdepth = riverdepth - (10000 / COUNT(villagename))
WHERE countryname = 'italy'

关于mysql - 基于来自多个表的数据在 SQL 中更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35890509/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com