首页 > 解决方案 > 更新表,将字段的值设置为查询的结果

问题描述

我有下表(我们称之为销售)结构:

表结构

我想做的是用我在同一个数据库中创建的查询产生的值填充字段“SalesID”。这个查询反映了表结构,所以我想用 ID 连接两者。

基本上,我正在尝试使用这种形式的脚本:

UPDATE Sales 
SET SalesID = ( SELECT  SalesIDCalc FROM (SELECT Sales.ID, Sales.[Email Address], Sales.[Points], IIf([Points] >80,"Super","Normal") AS SalesIDCalc FROM Sales) AS q 
WHERE Sales.ID = q.ID);

但我离解决方案还差得很远。您对如何进行有任何想法吗?

编辑:现在我收到错误“操作必须使用可更新表”

标签: sqlms-access

解决方案


我想你想要UPDATE一个相关的子查询:

UPDATE Sales
    SET SalesID = (SELECT SalesIDCalc
                   FROM (MyQuery) as q
                   WHERE Sales.ID = q.ID
                  );

推荐阅读