我正在尝试使用在另一个表中找到的值更新一个表中的所有记录。
我已经尝试了相同基本查询的多个版本,但总是收到相同的错误消息:
Operation must use an updateable query.
关于为什么这个查询在 Access DB 中不起作用的任何想法?
UPDATE inventoryDetails as idet
SET idet.itemDesc =
(
SELECT bomItemDesc
FROM BOM_TEMPLATES as bt
WHERE bt.bomModelNumber = idet.modelNumber
)
我也试过这个,因为我意识到,由于第二个表对每个型号都有多个型号记录 - 我只需要为每个型号找到的第一个记录中的第一个描述。
UPDATE inventoryDetails as idet
SET idet.item_desc =
(
SELECT TOP 1 bomItemDescription
FROM BOM_TEMPLATES as bt
WHERE bt.bomModelNumber = idet.modelNumber
)
...不过仍然出现同样的错误。
最佳答案
你必须使用连接
UPDATE inventoryDetails
INNER JOIN BOM_TEMPLATES ON inventoryDetails.modelNumber = BOM_TEMPLATES.bomModelNumber
SET inventoryDetails.itemDesc = [bomItemDesc];
关于sql - Access DB 使用另一个表的值更新一个表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/787186/