【问题标题】:SQL Server - UPDATE table where ID is in SELECT?SQL Server - SELECT 中 ID 所在的 UPDATE 表?
【发布时间】:2011-07-29 03:21:24
【问题描述】:

我有一个表,我想用选择结果中存在的 ID 更新所有行。

我的伪代码:

UPDATE mytable as t
   SET t.status = 'PM'
 WHERE t.ID EXISTS IN (select ID from ...)

我已经成功地执行了 select 语句,现在我想使用 select 语句的结果来更新表。

【问题讨论】:

    标签: sql sql-server sql-update


    【解决方案1】:

    如果你删除了存在,那么我可以告诉你一个有效的查询。

    UPDATE mytable 
       SET status = 'PM'
     WHERE id IN (select ID from ...)
    

    在 MySql 5.5 中为我工作,不确定您使用的是哪个数据库。

    【讨论】:

    • 您是否已经尝试过上述查询?应该是相同的AFAIK
    【解决方案2】:

    不能在 UPDATE 语句中使用替换。当您省略“as t”部分和“t.”时,原始查询应该是好的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-08-03
      • 1970-01-01
      • 1970-01-01
      • 2018-10-06
      • 1970-01-01
      • 1970-01-01
      • 2011-03-27
      • 1970-01-01
      相关资源
      最近更新 更多