sql – Access DB使用另一个表中的值更新一个表

我正在尝试使用另一个表中找到的值更新一个表中的所有记录.

我已经尝试了相同基本查询的许多版本,并始终得到相同的错误消息:

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];

相关文章

SELECT a.*,b.dp_name,c.pa_name,fm_name=(CASE WHEN a.fm_n...
if not exists(select name from syscolumns where name=&am...
select a.*,pano=a.pa_no,b.pa_name,f.dp_name,e.fw_state_n...
要在 SQL Server 2019 中设置定时自动重启,可以使用 Window...
您收到的错误消息表明数据库 'EastRiver' 的...
首先我需要查询出需要使用SQL Server Profiler跟踪的数据库标...