gpt4 book ai didi

sql - 使用 postgresql 中另一个表的条件更新列

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

所以基本上我需要更新一个列以在附近有另一个表的特征时返回 true

到目前为止我的查询看起来像

update tablea a set is_nearby = 
case when b.condition1 = 1 and st_dwithin(a.geom, b.geom, 100) then true
else false end
from tableb b

但是当我知道情况并非如此时,这只会返回所有错误

最佳答案

我想你需要 exists :

update tablea a
set is_nearby = (case when exists (select 1
from tableb b
where b.condition1 = 1 and st_dwithin(a.geom, b.geom, 100)
then true
else false
end);

或者更简单地说,没有 case :

update tablea a
set is_nearby = (exists (select 1
from tableb b
where b.condition1 = 1 and st_dwithin(a.geom, b.geom, 100)
);

您查询的问题是 from正在生成叉积,所以所有行都来自 b正在与 a 中的每一行进行比较.但是,只有一个值被设置——并且该值来自 b 中的任意匹配行。 .

关于sql - 使用 postgresql 中另一个表的条件更新列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51194823/

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