我们有两个表(MS SQL)
1-资产表,包含AssetCode,CustodianID和DepartmentID 此部门ID位于资产位置
2-保管人表,包含CustodianID和DepartmentID 该部门ID是该托管人所属的
情况: 有时用户从部门1转移到部门2 因此,数据输入人员将他的所有资产从资产主屏幕中的部门1移动到部门2,并忽略更改保管人主屏幕中的保管部门,现在我们可以找到他的部门在保管人主管部门中的用户1而他的资产已经转移到部门2
必填: 更新Custodian表DepartmentID以匹配相同CustodianID的Assets表DepartmentID
答案 0 :(得分:0)
您可以随时添加第二个更新的位置。
UPDATE Custodian INNER JOIN Assets ON Custodian.DepartmentID = Assets.DepartmentID SET Custodian.DepartmentID = Assets.DepartmentID
此更新将确保保管人DepartmentID与资产部门ID
相同编辑: 这是为了抱歉
答案 1 :(得分:0)
您的书面逻辑似乎意味着基于共同保管人的更新加入。
UPDATE c
SET DepartmentID = a.DepartmentID
FROM Custodian c
INNER JOIN Assets a
ON c.CustodianID = a.CustodianID;
请注意,两个表都有CustodianID
和DepartmentID
,这很奇怪。您的数据可能未正常化,但可能此更新是您正朝着正确方向迈出的一步。