0
下面是我的困境:SQL服務器:基於在同一個表的另一列到另一個表的列中的匹配值在一個表中的列的更新值
table1
有列的員工,employeeID
table2
有列uniqueEmployeeName
,id
table1
對employeeID
到的主鍵的外鍵約束,id
。- 列
employee
在table1
可以table1
匹配uniqueEmployeeName
值之一table2
- 列
employeeID
目前是空的,我想基於在table1
匹配employee
到uniqueEmployeeName
table2
的列id
進行更新在table2
。
這是我到目前爲止有:
update table1
set table1.employeeID = (select distinct id
from table2
where uniqueEmployeeName = table1.employee)
的問題是,查詢只運行不休,所以我不知道在我的詢問出了什麼問題什麼我想做的事情。任何人都可以看到我的邏輯出錯了嗎?
這裏的例子應該是之前和之後的樣子:
BEFORE:
table1 table2
employee employeeID uniqueEmployeeName id
bob peter 1
saget pipper 2
saget 3
bob 4
AFTER:
table1 table2
employee employeeID uniqueEmployeeName id
bob 4 peter 1
saget 3 pipper 2
saget 3
bob 4
你的桌子有多大?它仍在運行還是你殺了查詢?如果你有非常大的表,你可能只需要讓這個查詢運行直到完成。 – Vulcronos