次のような一時テーブルがあります
一時テーブル:
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