在 Access 的 UPDATE 查询中使用 SELECT
在 Microsoft Access 中,在数据库中执行更新通常涉及使用 UPDATE 查询。但是,当更新需要从单独的 SELECT 查询计算结果时,简单的方法可能不够。
考虑两种情况:
SELECT Min(TAX.Tax_Code) AS MinOfTax_Code FROM TAX, FUNCTIONS WHERE (((FUNCTIONS.Func_Pure)<=[Tax_ToPrice]) AND ((FUNCTIONS.Func_Year)=[Tax_Year])) GROUP BY FUNCTIONS.Func_ID;
UPDATE FUNCTIONS SET FUNCTIONS.Func_TaxRef = [Result of Select query]
在 Microsoft Access 2007 中,不可能在 UPDATE 查询中直接包含聚合(例如,最小值、最大值)。但是,解决方法涉及利用 SELECT 和 Make Table 查询的功能。
第 1 步:创建查询来计算聚合
构造一个计算最低税费的查询根据特定条件从 TAX 和 FUNCTIONS 表中提取代码,并按 Func_ID 对结果进行分组字段:
SELECT func_id, min(tax_code) as MinOfTax_Code FROM Functions INNER JOIN Tax ON (Functions.Func_Year = Tax.Tax_Year) AND (Functions.Func_Pure <= Tax.Tax_ToPrice) GROUP BY Func_Id
将此查询保存为 YourQuery。
第 2 步:将查询转换为表
因为 UPDATE 查询只能对表进行操作,使用 Make Table 查询将计算结果存储在名为的新表中MinOfTax_Code:
SELECT YourQuery.* INTO MinOfTax_Code FROM YourQuery
第 3 步:执行 UPDATE 查询
最后,执行 UPDATE 查询,将 Functions 表与 MinOfTax_Code 表连接起来并更新 Func_TaxRef 字段:
UPDATE MinOfTax_Code INNER JOIN Functions ON MinOfTax_Code.func_id = Functions.Func_ID SET Functions.Func_TaxRef = [MinOfTax_Code].[MinOfTax_Code]
此解决方法允许您使用 SELECT 查询的结果更新 Microsoft Access 2007 中另一个表中的字段。
以上是如何使用 SELECT 查询的结果更新 Microsoft Access 中的表?的详细内容。更多信息请关注PHP中文网其他相关文章!