用另一个表中的重复行更新表

m1416

我有三个表一个叫facility,一个hotel,另一个hotel_facility是连接表的酒店和娱乐设施。到目前为止,一切都很好。facility桌子上有很多重复的东西我想更新联接表,然后删除表中的重复项facility查找重复项并将其删除不是问题:

select o.id
from facility o
where exists ( select 'x' from facility i where i.name = o.name);

然后根据此查询删除 但是如何更新联接表,我将如何使用最新版本的Postgres。我可以使用其他表中的最新值来更新表吗?

谢谢

戈登·利诺夫(Gordon Linoff)

我认为您需要先进行更新,然后再进行删除此查询会将设施ID设置为该名称的最低设施ID:

update hotel_facility hf
    set facility_id = (select min(f.facility_id)
                       from facility f join
                            facility f2
                            on f.name = f2.name
                       where f.id = hf.facility_id);

然后,您可以删除除最小值以外的所有内容:

delete from facility f
    where exists (select 1
                  from facility f2
                  where f2.name = f.name and f2.id > f.id
                 );

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何更新一个表中的行,而另一个表中有重复项

来自分类Dev

使用另一个表更新后,RedShift 表行重复

来自分类Dev

如何更新从另一个表中的一个表删除的行?

来自分类Dev

更新在另一个表上重复的字段

来自分类Dev

用另一个列表的值更新列表(表重复)

来自分类Dev

从另一个表更新表中的记录

来自分类Dev

用MySQL中的另一个表更新表

来自分类Dev

PostgreSQL-用另一个表中的先前值更新表

来自分类Dev

用另一个表中的字段布尔值更新表

来自分类Dev

如何使用Doctrine更新另一个表中删除行的表行?

来自分类Dev

根据另一个表中的重复项合并一个表中的行

来自分类Dev

用另一个表的avg()更新?

来自分类Dev

使用重复键从另一个表更新一个表

来自分类Dev

根据另一个表中的更改更新,插入和删除表中的行

来自分类Dev

用另一个表的结果更新一个表

来自分类Dev

用另一个表更新表,列名第二个表

来自分类Dev

sql显示另一个表中缺少的重复行

来自分类Dev

用另一个表中的相关值更新逗号分隔的ID

来自分类Dev

从另一个更新表中的ID

来自分类Dev

mysql更新另一个表中的列

来自分类Dev

如何更新另一个表中的记录

来自分类Dev

将特定行从一个表更新到另一个表

来自分类Dev

SQL - 使用另一个表中的单个行更新行

来自分类Dev

更新一个表中另一个表中的值

来自分类Dev

更新一个表中的主键,而另一个表中的外键

来自分类Dev

根据另一个表中的条件更新一个表中的列

来自分类Dev

根据另一个表中的值更新一个表中的字段

来自分类Dev

如何为另一个表中的所有组重复表中的所有行?

来自分类Dev

更新另一个表中hstore列中的现有行

Related 相关文章

热门标签

归档