我有一个临时表,看起来像
临时表:
ID(not unique) Platform Name OS version
13 UNIX Ipad 5.1
13 Windows Windows 2008
14 MAC Ipad 4.1
Look_UP Tbl :对于上述每一列
PlatformName LookuP Tbl: platform id desc
2 Unix
5 windows
OS Lookup : OS id OSname
4 Ipad
Version Lookup : Version id name
5 5.1
然后有 EmpPlatformID 、 EmpOSID 和 EmpVersionID 如下所示;
EmpPlatform - EmpId PltformNameID
13 1
13 6
same for OS & ID
我需要一个查询 1) 使用查找表来获取每个员工 id 的每列 (PlatformName,OS,Version) 的相应 ID。2) 在每个实际表中插入该 empid 的 ID。
所以,empPlatformTable 应该是这样的;
EmpPlatform - EmpId PltformNameID
13 1
13 6
13 2 - new row added from tmptbl
13 5 - new row added from tmptbl
The EmpOS & EmpVer also has similar column so the emp id should have corresponding IDs inserted from temptbl . please helps
编辑:更新 PlatformName 的代码
Update EmpPN
Set EmpN.platform_id = PLookup.platform_id
from #TempTable tmpd (READUNCOMMITTED)
inner join EmpPlatform EmpPN (READUNCOMMITTED)
on EmpPN.emp_id = emp_id collate database_default
inner join PlatformLookUpTbl PLookup(READUNCOMMITTED)
on PLookup.[platform_name] = tmpd.PlatformName collate database_default