我花了一天的时间研究和尝试各种样本而没有成功地从查找表中更新导入的记录,但是大多数样本使用具有相关信息的简单查找表,这不是我的场景。 / p>
我正在将员工记录导入Users表。我创建了一个Import表,其中包含员工详细信息以及每个用户的经理电子邮件地址。例如:FirstName,LastName,Email,ManagerEmail。
然后,从Import表中将记录(ManagerEmail除外)插入Users表中。只有完成此操作后,用户才会拥有UserId。现在的挑战是使用ManagerId(将是Manangers UserId)更新新创建的用户记录。
我可以在Import表中创建UserId和ManagerId字段并运行脚本以在创建用户记录后更新这些值,然后使用它来更新Users表,但更新用户将是一个挑战表仅基于导入表中具有Email和ManagerEmail关系。
如果我的解释需要进一步澄清,请告诉我。任何帮助将不胜感激,我将继续研究。
答案 0 :(得分:0)
使用CTE制定解决方案。
使用 cteImport(ManagerId,Email) 如 ( SELECT u.UserId,i.Email 来自用户你 INNER JOIN导入i ON i.ManagerEmail = u.Email ) 更新用户 SET ManagerId = i.ManagerId 来自cteImport i 在哪里Users.Email = i.Email
希望这可以帮助别人。