我有两个不同的数据库,我试图合并数据。目前,项目和用户已分配到项目。用户可以一次处理许多(超过1个)项目。由于项目的名称可能有拼写问题,我已经执行了SSIS模糊分组以匹配数据。唯一的问题是,只有一个数据库跟踪我将用于外部程序的ID,并且处理特定项目的用户的信息可能重叠。
ProjectName_1 Office_1 ContactName_1 contactid_1 ProjectID_1 department_1 MOW NYC John Caves Producer MOW NYC Jayson Brodie Producer MOW NYC Jonathan Whites Editor MOW NYC Dana Rutters Camera MOW NYC ALI SAYMON A00G8S5 A00MVDE MOW NYC CHRIS TY A001NJ6 A00MVDE
基本上,我想根据项目名称更新ProjctId不存在的记录。所以最终结果如下:
ProjectName_1 Office_1 ContactName_1 contactid_1 ProjectID_1 department_1 MOW NYC John Caves A00MVDE Producer MOW NYC Jayson Brodie A00MVDE Producer MOW NYC Jonathan Whites A00MVDE Editor MOW NYC Dana Rutters A00MVDE Camera MOW NYC ALI SAYMON A00G8S5 A00MVDE MOW NYC CHRIS TY A001NJ6 A00MVDE
请记住,有许多不同的项目。
非常感谢帮助。
答案 0 :(得分:0)
这样做的一种方法是在相关的子查询中放置“选择ProjectName匹配的Top 1 projectId”逻辑:
UPDATE p SET ProjectID_1 = (
SELECT TOP 1 ProjectID_1
FROM Projects
WHERE ProjectName_1 = p.ProjectName_1
AND ProjectID_1 IS NOT NULL
)
FROM Projects p
WHERE ProjectID_1 IS NULL;