使用具有多个条件的其他表中的数据更新表?

合并

我有一个名为的表A,它具有ARTICLE_NUMBERNEWCOLUMN列。此外,我还有另一个表B,该具有ARTICLENUMBER和EVENT列。我想为我的NEWCOLUMN专栏执行一条更新声明

如果EVENT在TableBNULL,我的NEWCOLUMN列应该是0,如果EVENT在TableBNOT NULL,我的NEWCOLUMN列应该是1

我已经尝试了以下方法,但不幸的是它没有用;

UPDATE A a
INNER JOIN B b 
    ON a.ARTICLENUMBER = b.ARTICLENUMBER
SET
    a.NEWCOLUMN = CASE WHEN b.EVENT IS NULL THEN 0
                       WHEN b.EVENT IS NOT NULL THEN 1
                  END;

有人可以帮我吗?

戈登·利诺夫

我怀疑您确实想要EXISTS-即设置table中的所有A,以及1是否存在不NULL匹配的事件。那将是:

UPDATE A
    SET NEWCOLUMN = (CASE WHEN EXISTS (SELECT 1
                                       FROM B
                                       WHERE b.ARTICLENUMBER = a.ARTICLENUMBER AND
                                             b.EVENT IS NOT NULL
                                        )
                          THEN 1 ELSE 0
                      END);

请注意,这会更新中的所有A-甚至是中没有匹配项目的B正如我所说,我认为这是您想要做的,尽管这并不是您的问题的确切表述方式。您的问题未指定对ARTICLENUMBER不在中的做什么B

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

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

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何使用具有多个连接的其他表中的值更新字段?

如何使用其他表中的条件更新表

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

使用其他表中的多个值随机更新表

如何从具有其他条件的表中删除多行?

如何从具有其他条件的表中删除多行?

使用具有多个参数化条件的SELECT WHERE查询检索表中的所有行

使用其他表中的数据更新一个表。(有补充)

如何使用具有相同主键的本地数据库表更新远程表?

使用具有列映射的数据表更新/插入到SQL表

使用具有多个值的 Python 字典,如何使用 Jinja 的 for 循环将数据输出到表中?

在具有多个条件的r中合并数据表

如何从具有其他表条件的表中选择

如何使用SQL select筛选具有类别的行以根据条件联接其他(多个)表?

使用具有中间表的另一个数据库中的另一个表的列更新部分数据

如何使用来自多个其他表的数据插入或更新表?

如何使用LINQ在具有多个条件的数据表中的日期之间求和?

SQL Server-来自其他表的具有多个条件的Select语句

SQLite 从其他表中选择具有多个条件的行

如何使用当前表中的数据更新其他数据库中的表?

使用其他表的列数据创建具有列名的表

使用多个其他表中的值更新一个表

根据其他表中的数据更新和更新数据

如何使用具有一对多关联的 HQL 从 2 个表中获取数据?

是否可以使用具有多个字段的表中的ON DUPLICATE KEY UPDATE来仅更新单个字段?

使用PHP将表插入到具有更多列的其他表中

如何计算具有其他条件的表中的唯一值?

如果列存在于具有条件的其他表中,则 Oracle 计数

如何根据python中其他列的多个条件更新数据框中的现有列?