我有3个表都已链接,但由于规划不当,数据和迁移从未完成。
我有3张桌子。
1. User
- It contains an email address and a PK of userID
2.Contact
-It contains a c_usedid , email address,roleid,systemcode and a field for d_userid and userid
3. contactuser
This is a linking table. It auto increments its PK (d_userid) and has userid (fk) and systemcode.
和我在一起。
我需要对联系人运行更新,该联系人填写d_userid,其中userid和systemcode都等于contactuser中的相同值。
有人有想法吗?我尝试了合并,但由于每个系统中可能有多行(多个角色!),因此不允许我执行代码。如果重要的话,我正在使用SQL Server 2012。
非常感谢帮助!
答案 0 :(得分:1)
根据您的描述,这听起来像您想要的更新:
update c
set d_userid = cu.d_userid
from contact c join
contactuser cu
on c.userid = cu.userid and c.systemcode = cu.systemcode;