gpt4 book ai didi

sql - 从另一个表数据更新表中的多个列,包括空值

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

我有两个包含 6 列的表,在一个表(我要更新的那个)中,前三列已经填充,另外三列是我刚刚制作的,所以它们是空的。

汇总表

Number, ID, height, weight, volume, density
1 1 5
2 2 5
3 3 12

我有另一个完全填充的表,其中使用了相同的 ID,但其他数据波动且没有高度

日表

Number, ID, name, weight, volume, density
1 1 c3 23 10
2 2 c17 24.2 1 5
3 3 c12 22 2 6
4 1 c3 21 2
5 2 c17 25 8

我想从 Daily 表中获取最后的重量、体积、密度值,并使用它们填充 Summary 表中的这些列。两个表都有数千个条目,每天接近一百万个条目。

结果应该是 Summary table changes to

Number, ID, height, weight, volume, density
1 1 5 21 2
2 2 5 25 8
3 3 12 22 2 6

我可以使用从 this question 获得的信息一点一点地完成它,但我想一次完成。请协助。

最佳答案

像这样:

update summary 
set weight = t.weight,
volume = t.volume,
density = t.density
from (
select distinct on (id) id, weight, volume, density
from daily
order by id, number desc
) t
where t.id = summary.id;

内部选择将只返回每日表中每个 ID 具有最高“数字”的行。有关解决该问题的其他方法,请参阅

在线示例:http://rextester.com/AWT29305

关于sql - 从另一个表数据更新表中的多个列,包括空值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40264356/

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