如果有任何值,则更新表

时间:2019-07-22 19:23:32

标签: sqlite

如果表1中的任何值=表2中的值,我正在尝试更新我的表

表1为带有数据的1列 表2包含数据的列

如果table2(data)= table1(data)更新

但是不起作用

如果我将table2设置为1列,则我有一个有效的代码

这是可行的,但是table2只需要有1列

ContainerControl

我希望能够有更多的专栏

也许是这样的:

    UPDATE table1
    SET column1 = 'correct'
    WHERE column2 in (SELECT column1 from table2);

错误:

结果:子选择返回11列-预期为1

我应该怎么做?

1 个答案:

答案 0 :(得分:0)

也许您可以使用EXISTS做到这一点

UPDATE table1
SET column1 = 'correct'
WHERE EXISTS (
  SELECT 1 FROM table2
  WHERE table1.somecolumn = table2.someothercolumn
);

如果要针对table1.someothercolumn的多个列检查table2

UPDATE table1
SET column1 = 'correct'
WHERE EXISTS (
  SELECT 1 FROM table2
  WHERE table1.somecolumn in (table2.col1, table2.col2, ...)
);