gpt4 book ai didi

postgresql - 根据从另一个表中选择更新列

转载 作者:行者123 更新时间:2023-11-29 12:48:52 25 4
gpt4 key购买 nike

我正在尝试根据另一个表中的选择更新一个表。两个表的共同名称为 coll。

所以这个想法是历史性的,以获取每个名称的最低价格,并将这些更新到名称中匹配该名称的每一行。

我尝试了此处找到的几个示例,但没有一个成功。

这是内部选择

SELECT name, MIN(price) FROMhistorial group by name

这应该更新一个

UPDATE names set MIN_PRICE = min_price_from_select WHERE name = name_from_select

结果应该是,表名称更新为历史最低价格。

最佳答案

您可以 join an UPDATE statement with a FROM clause .在你的情况下:

UPDATE names
SET min_price = q.min_price
FROM (
SELECT name, MIN(price) as min_price
FROM historical
GROUP BY name
) as q
WHERE name = q.name

替代方法是子选择,但它也会尝试更新所有 names,而不仅仅是那些存在于historical中的:

UPDATE names
SET min_price = (SELECT MIN(price) FROM historical WHERE historical.name = names.name)

关于postgresql - 根据从另一个表中选择更新列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58682446/

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