小编cur*_*ity的帖子

SQL Server 2008更新表,其中包含另一个表中的值

您可以在下面看到我的简化数据库模型:

在此输入图像描述

由于错误,Job.location列中只有空值,其中条目属于某个计划.因此,我想更新与此计划关联的所有作业,将Job.location设置为拥有此计划的用户的Location.name.

我试过这个SQL查询:

    update dbo.Job set location =

        (select name from dbo.Location as loc where

           loc.objectid = objectid  and loc.user_id in 

           (select userid from dbo.[Plan] as p where p.planid = 20))

        where planid = 20
Run Code Online (Sandbox Code Playgroud)

但是,结果总是:0行受影响.子查询本身可以正常工作.

如何才能实现具有特定计划的所有工作都受到影响?

sql sql-server join sql-server-2008 sql-update

2
推荐指数
1
解决办法
1万
查看次数

标签 统计

join ×1

sql ×1

sql-server ×1

sql-server-2008 ×1

sql-update ×1