根据条件创建脚本以更新记录

时间:2014-02-26 13:21:12

标签: sql sql-server

表格结构:

1)广告系列

Camp_Code int           - Primary Key
AssignTo  int
CreatedBy int
Status    int

2)公司

CompanyID  int          - Primary Key
Name       varchar(100)
Camp_Code  int          - Foreign Key
AssignTo   int

一个广告系列有很多公司

现在我需要创建脚本来更新公司表 我需要更新公司表的AssignTo字段。

enter image description here

我只需要更新Camp_Code状态为0的公司。

AssignTo(公司)的更新基于Camp_Code(公司)和Camp_Code(广告系列)

在这里,您可以看到AssignTo(Campaign)字段是否为空,然后它取得了CreatedBy(Campaign)字段的值。

请帮帮我......

1 个答案:

答案 0 :(得分:2)

这应该有效:

UPDATE co SET co.assignto=COALESCE(ca.AssignTo, ca.CreatedBy)
FROM company co
JOIN (select * FROM campaign WHERE status=0) ca ON(co.camp_code=ca.camp_code)