使用具有特定条件的另一个表中的值更新Oracle中的表

冰川针

我在Oracle 11中有两个表:

表ta_one:

name    | active
----------------
john    | yes
tina    | yes
mike    | yes

表ta_two:

name    | active
----------------
john    | yes
tina    | yes
tina    | no
mike    | no

我要实现的目标如下:在以下情况下,我要用第二个表ta_two中的“活动”列的值来更新第一个表ta_one中的“活动”列:

  • ta_one中“名称”列中的名称与ta_two中的“名称”相匹配(例如:mike和mike)
  • 如果ta_two中有多个相同名称的条目,则不应进行任何更新(例如:tina)
  • 如果在表ta_two中活动的列中没有“否”,则不应进行任何更新(例如:john)

因此,表ta_one在更新后应如下所示:

name    | active
----------------
john    | yes
tina    | yes
mike    | no

仅mike的条目已更改,因为tina在第二个表中多次出现,并且johns条目在表ta_two的活动列中具有“ yes”。

预先感谢您的帮助。

蒂姆·比格莱森(Tim Biegeleisen)

我总是使用值进行更新,'yes'因为您的逻辑只会这样做。

UPDATE ta_one
SET active = 'no'
WHERE EXISTS
(
    SELECT t2.active
    FROM ta_one t1
    INNER JOIN ta_two t2
        ON t1.name = t2.name
    INNER JOIN
    (
        SELECT name
        FROM ta_two
        GROUP BY name
        HAVING COUNT(*) = 1
    ) t3
        ON t1.name = t3.name
    WHERE t2.active = 'no' AND
          ta_one.name = t1.name
);

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何根据不同的条件使用另一个表中的值更新表

来自分类Dev

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

来自分类Dev

使用MySQL中的rand()将表中的值更新到另一个表

来自分类Dev

使用另一个表中的值更新ms-access表中的值

来自分类Dev

Sqlite:从具有多个条件的另一个表中的多个列更新

来自分类Dev

每天使用另一个表中的值更新sql表

来自分类Dev

如何使用另一个表中的值更新数据库表

来自分类Dev

使用来自另一个表的值更新PHP MYSQL中的表

来自分类Dev

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

来自分类Dev

如何使用另一个数据库表中的值更新表

来自分类Dev

根据另一个表的值更新 Oracle 中表中的值

来自分类Dev

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

来自分类Dev

使用另一个表的值更新表

来自分类Dev

根据特定条件ON UPDATE更新另一个表的最佳方法是什么?

来自分类Dev

使用case语句(MYSQL)根据另一个表中的值更新一个表

来自分类Dev

将数据从一个表复制到另一个具有特定条件的表

来自分类Dev

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

来自分类Dev

如何使用 MySql 使用另一个表中的值更新两个表上的值

来自分类Dev

如何使用另一个表中的数据更新Python中的Oracle表

来自分类Dev

使用SAS中另一个表中的数据更新oracle表

来自分类Dev

在sqlalchemy中从具有多个列的另一个表更新表

来自分类Dev

更新具有另一个表ID的表中的记录

来自分类Dev

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

来自分类Dev

SQL-从另一个表中的值更新表值

来自分类Dev

从另一个表中的随机值更新表,而在MySQL副本

来自分类Dev

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

来自分类Dev

根据sqLite中的另一个表值更新表

来自分类Dev

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

来自分类Dev

根据mysql中另一个表中的值更新一个表中的列

Related 相关文章

  1. 1

    如何根据不同的条件使用另一个表中的值更新表

  2. 2

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

  3. 3

    使用MySQL中的rand()将表中的值更新到另一个表

  4. 4

    使用另一个表中的值更新ms-access表中的值

  5. 5

    Sqlite:从具有多个条件的另一个表中的多个列更新

  6. 6

    每天使用另一个表中的值更新sql表

  7. 7

    如何使用另一个表中的值更新数据库表

  8. 8

    使用来自另一个表的值更新PHP MYSQL中的表

  9. 9

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

  10. 10

    如何使用另一个数据库表中的值更新表

  11. 11

    根据另一个表的值更新 Oracle 中表中的值

  12. 12

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

  13. 13

    使用另一个表的值更新表

  14. 14

    根据特定条件ON UPDATE更新另一个表的最佳方法是什么?

  15. 15

    使用case语句(MYSQL)根据另一个表中的值更新一个表

  16. 16

    将数据从一个表复制到另一个具有特定条件的表

  17. 17

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

  18. 18

    如何使用 MySql 使用另一个表中的值更新两个表上的值

  19. 19

    如何使用另一个表中的数据更新Python中的Oracle表

  20. 20

    使用SAS中另一个表中的数据更新oracle表

  21. 21

    在sqlalchemy中从具有多个列的另一个表更新表

  22. 22

    更新具有另一个表ID的表中的记录

  23. 23

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

  24. 24

    SQL-从另一个表中的值更新表值

  25. 25

    从另一个表中的随机值更新表,而在MySQL副本

  26. 26

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

  27. 27

    根据sqLite中的另一个表值更新表

  28. 28

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

  29. 29

    根据mysql中另一个表中的值更新一个表中的列

热门标签

归档