我不知道如何使用一个查询进行多个更新。
这是我的两张桌子。
devices_table
DeviceID Brand SerialNumber
---------------------------------
1 Nintendo 324234324
2 Nintendo 89978333
3 Sony Z3432343
4 Sony Z3424335temporary_table
DeviceID Brand SerialNumber
---------------------------------
NULL Nintendo 324234324
NULL Nintendo 89978333
NULL Sony Z3432343
NULL Sony Z3424335我将如何在DeviceID中填写temporary_table?我需要什么样的查询?
发布于 2013-02-15 08:52:18
您需要使用update语句:
UPDATE temporary_table
SET DeviceID = ( SELECT Devices_table.DeviceID
FROM Devices_table
WHERE Devices_table.Brand = temporary_table.Brand
AND Devices_table.SerialNumber = temporary_table.SerialNumber
);SQL Fiddle示例
或者可以使用联接而不是关联子查询:
UPDATE temporary_table
INNER JOIN Devices_table
ON Devices_table.Brand = temporary_table.Brand
AND Devices_table.SerialNumber = temporary_table.SerialNumber
SET temporary_table.DeviceID = Devices_table.DeviceID;SQL Fiddle示例
发布于 2013-02-15 08:56:23
是的,您可以使用以下查询:
UPDATE temporary_table
SET DeviceID = Devices_table.DeviceID
FROM temporary_table
INNER JOIN Devices_table
ON Devices_table.Brand = temporary_table.Brand
AND Devices_table.SerialNumber = temporary_table.SerialNumber;https://stackoverflow.com/questions/14890907
复制相似问题