gpt4 book ai didi

sql - 从 JOIN 中插入值?

转载 作者:行者123 更新时间:2023-11-29 14:35:31 25 4
gpt4 key购买 nike

这一定是重复的,但我无法通过谷歌搜索答案。我有以下 Postgres 表:

stores:
id - integer
zipcode - varchar
county - varchar, nullable
zipcode_to_county:
zipcode - varchar
county - varchar

目前 storescounty 的所有值都是 null - 我只知道他们的邮政编码。现在我想更新 county 列,方法是查找 zipcode_to_county 中每个商店的 zipcode

我可以用 Python 编写脚本,但我可以直接在 SQL 中执行吗?

也许是这样的:

INSERT into stores(county) (
SELECT z.county FROM stores s
LEFT JOIN zipcode_to_county z
WHERE s.zipcode=z.zipcode
);

我想内部查询会返回一组行,然后逐行插入,但我不知道如何确保它们是“正确”的行集。

并非每个邮政编码都会出现在 zipcode_to_county 表中,因此需要在某处使用 LEFT JOIN

最佳答案

您应该UPDATE现有的行。

UPDATE stores
SET country = z.country
FROM zipcode_to_county z
WHERE stores.zipcode = z.zipcode;

这里不需要外连接,因为那只会产生额外的 NULL 值。

关于sql - 从 JOIN 中插入值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45275415/

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