基于与另一个表的连接更新表中的列值?

NewGradDev

我有两个表叫做resourceresource_owners

resource_owners表包含名为resource_id和 的两列owner_id

resource_id | owner_id | -------------+-----------

resource表包含两个相关列:parentresource_idid

parentresource_id | id | -------------------+------

resource_owners.resource_id,resource.idresource.parentresource_id都是两个表之间的连接列。现在我想做的是以下内容:

对于resource中的每一行,取值 in id,将其与相应的 匹配resource_owners.resource_id,检索相应的resource_owners.owner_id值(称为 $owner_value),然后设置resource_owners.owner_id为 $owner_value其中 resource_owners.resource_idequals resource.parentresource_id

用会话术语来说,这就是我想要做的:对于每个资源,我想将父资源的 owner_id 重新分配为资源的 owner_id。

我试图解决这个问题,看起来我需要两个不同的表连接(resource.idwithresource_owners.resource_idresource.parentresource_idwith resource_owners.resource_id)。

有人可以指出我正确的方向吗?我想要的甚至可以通过单个查询实现吗?如果 PostgreSQL 脚本更适合我的用例,我也可以。

雨薇

我不确定您使用的是什么数据库,但如果我正确理解您的问题,您应该能够使用以下逻辑完成:

UPDATE RESOURCE_OWNER SET OWNER_ID = UP.OWNER_ID FROM (SELECT rc.ID, TMP.OWNER_ID FROM (SELECT RSC.ID, ROWRS.OWNER_ID, ROWRS.RESOURCE_ID FROM RESOURCE RSC JOIN RESOURCE_OWNER ROWRS ON RSC.ID = ROWRS.RESOURCE_ID) TMP JOIN RESOURCE rc on rc.PARENTRESOURCE_ID = TMP.RESOURCE_ID) UP WHERE RESOURCE_OWNER.RESOURCE_ID = UP.ID;

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在 MySQL 中如何使用基于另一个表的列值的名称连接表?

来自分类Dev

如何基于对另一个表的选择在表的列中插入值

来自分类Dev

mySQL更新列与另一个表的连接

来自分类Dev

另一个表中基于 SQL 更新语句的唯一值

来自分类Dev

如何基于另一个表中另一列的值更新表中的列

来自分类Dev

基于另一个表中的值的informix更新

来自分类Dev

基于另一个表中的ID或主键列表的PostGres SQL更新值

来自分类Dev

SQL查询以基于另一个表中的列值从一个表中选择

来自分类Dev

从另一个表SQL更新列值

来自分类Dev

mysql从另一个表更新列值

来自分类Dev

连接另一个表中的列数

来自分类Dev

获取基于另一个列的表中每个组的最小值

来自分类Dev

MySQL-更新/设置一个表中的列等于另一个表中的MAX值

来自分类Dev

使用MySQL根据另一个表中的列数更新列中的值

来自分类Dev

mysql更新另一个表中的列

来自分类Dev

通过从另一个表中查找值来更新列值

来自分类Dev

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

来自分类Dev

触发基于mysql中另一个表更新的更新表

来自分类Dev

如何基于另一个表中的值查找和替换表中的值

来自分类Dev

Postgres-jsonb:更新列中的键,并使用另一个表中的值

来自分类Dev

根据不同表中的另一个列值更新表中的两个列值

来自分类Dev

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

来自分类Dev

如何从另一个具有最小值的表中更新列?

来自分类Dev

如何在另一个表ssms中更新具有相同值的列?

来自分类Dev

在mysql中按结果更新/插入另一个表的组的列值

来自分类Dev

基于另一个表中的查找值删除表中的行

来自分类Dev

使用另一个表中的值更新一个表上的列

来自分类Dev

基于与另一个表的连接更新空白记录

来自分类Dev

从另一个表中ID不匹配的表中的一列更新一个表中的列的值

Related 相关文章

  1. 1

    在 MySQL 中如何使用基于另一个表的列值的名称连接表?

  2. 2

    如何基于对另一个表的选择在表的列中插入值

  3. 3

    mySQL更新列与另一个表的连接

  4. 4

    另一个表中基于 SQL 更新语句的唯一值

  5. 5

    如何基于另一个表中另一列的值更新表中的列

  6. 6

    基于另一个表中的值的informix更新

  7. 7

    基于另一个表中的ID或主键列表的PostGres SQL更新值

  8. 8

    SQL查询以基于另一个表中的列值从一个表中选择

  9. 9

    从另一个表SQL更新列值

  10. 10

    mysql从另一个表更新列值

  11. 11

    连接另一个表中的列数

  12. 12

    获取基于另一个列的表中每个组的最小值

  13. 13

    MySQL-更新/设置一个表中的列等于另一个表中的MAX值

  14. 14

    使用MySQL根据另一个表中的列数更新列中的值

  15. 15

    mysql更新另一个表中的列

  16. 16

    通过从另一个表中查找值来更新列值

  17. 17

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

  18. 18

    触发基于mysql中另一个表更新的更新表

  19. 19

    如何基于另一个表中的值查找和替换表中的值

  20. 20

    Postgres-jsonb:更新列中的键,并使用另一个表中的值

  21. 21

    根据不同表中的另一个列值更新表中的两个列值

  22. 22

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

  23. 23

    如何从另一个具有最小值的表中更新列?

  24. 24

    如何在另一个表ssms中更新具有相同值的列?

  25. 25

    在mysql中按结果更新/插入另一个表的组的列值

  26. 26

    基于另一个表中的查找值删除表中的行

  27. 27

    使用另一个表中的值更新一个表上的列

  28. 28

    基于与另一个表的连接更新空白记录

  29. 29

    从另一个表中ID不匹配的表中的一列更新一个表中的列的值

热门标签

归档