更新表的行

时间:2014-01-27 16:51:56

标签: sql-server-2012

我有几张表如下: -

项目

ProjectId Status
1         Completed
2         Completed
3         In Progress
4         In Progress

合同

ContractId Status
1          In Progress
2          In Progress
3          In Progress
4          In Progress

ProjectContracts

ContractId ProjectId
1          1
1          2
2          3
3          4

ProjectContracts

ContractId ProjectId
1          1
1          2
2          3
3          4

我想创建一个更新脚本,将所有合同状态更新为已完成项目状态的已完成。

感谢任何帮助。 感谢

1 个答案:

答案 0 :(得分:0)

我想这就是你要找的东西。如果我们根据您的要求背后的逻辑不在同一页面,请纠正我。

  UPDATE   contract c
  SET      c.status=(SELECT p.status
  FROM     projects p
  WHERE    c.projectId = p.projectid AND p.status = 'completed');