2
我正在嘗試使用下面的查詢來更新臨時表中的多個記錄,但不起作用。請告訴我更新多個記錄的正確方法。在單個查詢中更新多條記錄MS SQL
UPDATE sarufoo
SET sarufoo.mobile = (SELECT mobile_no FROM logan)
WHERE sarufoo.homep IN (SELECT homep FROM logan);
我正在嘗試使用下面的查詢來更新臨時表中的多個記錄,但不起作用。請告訴我更新多個記錄的正確方法。在單個查詢中更新多條記錄MS SQL
UPDATE sarufoo
SET sarufoo.mobile = (SELECT mobile_no FROM logan)
WHERE sarufoo.homep IN (SELECT homep FROM logan);
一個更合適的方法來實現這是會加入兩個表:
UPDATE sf
SET sf.mobile = l.mobile_no
From
sarufoo sf
JOIN logan l ON sf.homep = l.homep
您必須將您正在更新的行與您正在選擇的行相關聯。否則你的子選擇(SET)將返回它所有的每一行。
UPDATE sarufoo
SET sarufoo.mobile = (SELECT mobile_no FROM logan WHERE sarufoo.homep = logan.homep)
WHERE sarufoo.homep IN (SELECT homep FROM logan);
而且要小心,如果logan.homep可以爲每個sarufoo.homep多個記錄。 –