0
我想更新一個表,但是我遇到的問題如下:我有一個表中有超過60K個主鍵的列,名爲TerminalID
。這個表有10列,但我想更新一個名爲SerialNumber
的列,但問題是每個主鍵的序列號都不相同。使用基於主鍵的不同數據更新列
問題是,下面的更新SQL代碼會將相同的序列號應用於所有terminalID
的我有和每個PK沒有不同。
有什麼想法?
Use [testserver]
update [testtable]
set SerialNumber =''
from [testtable]
where [TerminalID] in (...)
terminalID Serial Number
463328 215728108
168734 213808561
160879 214621937
451991 215523741
這是我現在能想到的唯一辦法,通過做一個這一個
Update [terminalsetting] SET [SerialNumber] ='766' WHERE [TerminalID] ='63872'
Update [terminalsetting] SET [SerialNumber] ='215728108' WHERE [TerminalID] ='463328'
Update [terminalsetting] SET [SerialNumber] ='213808561' WHERE [TerminalID] ='168734'
你可以使用連接 –
請提供樣本數據和解釋'SerialNumber'價值是如何創造與TerminalId你想要一個臨時表/ CTE/values子句和序列號更新決心。 –
可能重複的[如何從SQL Server中的SELECT進行更新?](http://stackoverflow.com/questions/2334712/how-to-update-from-a-select-in-sql-server) – Anand