5

我想编写一个存储过程,我可以根据以下条件更新表。

Table 
EmployeeID  GroupID Group#
123     G123        3
456     G456        3
789     G789        3
101     G101        3

View
GroupID_Granular    GroupID_Middle  GroupID_Executive
G123            M123            E123
G789            M789            E789

如果在 View 的 GroupID_Granular 列中找到 GroupID,则更新表,设置 GroupID = GroupID_Executive 并将 Group# 设置为 1。

我不确定如何检查/比较然后运行更新 cmd。

谢谢

4

1 回答 1

5

这可以通过以下方式轻松完成JOIN

UPDATE t
SET 
    t.GroupID = v.GroupID_Executive, 
    t.[Group#] = 1
FROM YourTable t
JOIN YourView v ON v.GroupID_Granular = t.GroupID 

Sql 小提琴在这里

于 2013-03-18T18:09:50.030 回答