我有一個臨時表,它看起來像SQL temptables循環查詢
TmpTable:
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版本),用於每個僱員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
您可以發佈您迄今爲止的代碼,並讓我們知道您在哪裏遇到問題? –
我強烈建議,當你考慮解決這類問題時,不要再考慮「循環」這個詞了。沒有任何關於這可以通過使用循環以任何方式進行優化。 –