当前位置: 首页 > 面试题库 >

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

孙夕
2023-03-14
问题内容

我试图用另一个表中找到的值更新一个表中的所有记录。

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

操作必须使用可更新的查询。

关于为什么此查询在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];


 类似资料:
  • 问题内容: 我正在尝试根据另一个MySQL信息更新一个MySQL表。 我的桌子看起来像: 而表如下所示: 我想更新在与来自基于(存储在字符串字段)。 希望更新后的表如下所示: 我有一个有效的查询,但是非常慢: 这使我的CPU耗尽,最终导致超时,并且仅执行了一部分更新(有数千个要匹配的值)。我知道匹配的速度会很慢,但这是我必须将它们匹配在一起的唯一数据。 有没有更好的方法来更新这样的值?如果可以更快

  • 问题内容: 我有两个桌子,看起来都像 我需要根据每个表中的检查名称复制from 到的值。 此声明有任何提示吗? 问题答案: 除了此答案外,如果您需要根据tableA.value动态更改tableB.value,则可以执行以下操作:

  • 问题内容: 我有一条语句需要写(用通用名称表示,因为这是为了工作)来更新表“ tUpd”中的列“ updCol”。tUpd还具有一个列“ linkCol”,该列存在于另一个表tOther中。tOther还有另一列“ idCol”。 我的问题是更新tUpd中行的updCol值,该值通过linkCol对应于具有给定idCol值的行。 我认为应该起作用的一种解决方案是: 但是,我担心这种方法会导致性能下

  • 问题内容: 我有两个桌子, 这是我的第一张桌子, 这是我的第二张桌子 我需要一些如何使用第一个表中的数据更新第二个表中的所有行的信息。 它需要在一个更新查询中完成所有这些操作。 SUBST_ID和SERIAL_ID都匹配,它需要从第一个表中获取created_id并将其插入第二个表中。 因此,第二张表将变为以下内容, 感谢您的帮助和指导。 问题答案:

  • 问题内容: 我需要根据从以下两个表中提取的数据创建一个新表: 第一表: 第二张表: 新表应包含一个“ Var”列和一个“Number”列,其中每个变量将包含一行带有cur_number的行,其余各行将包含第二个表的new_number列中的数字,其中。例如,在上面显示的示例中,对于A,将有一行,行数为10(其cur_number),另一行为“ 2”(因为2 <10,但是11>10)。 在我的示例中

  • 问题内容: 我正在使用MS SQL Server Management Studio。我有桌子- 我想从该表创建另一个包含2列的表,以便column_1在Num_ID中提供唯一值(即1,2,3,4等),而column_2在Alpha_ID中提供唯一值(A,B,C等) 。 但是,如果已经出现一个字母,则不应再次出现。所以输出将是这样的- 希望这是有道理的。我想澄清一下,输入表中的ID不是我所显示的数