首頁 >資料庫 >mysql教程 >如何使用帶有聚合的 SELECT 查詢結果更新 Microsoft Access 中的欄位?

如何使用帶有聚合的 SELECT 查詢結果更新 Microsoft Access 中的欄位?

Barbara Streisand
Barbara Streisand原創
2024-12-29 02:19:09817瀏覽

How Can I Update a Field in Microsoft Access Using the Result of a SELECT Query with Aggregates?

使用 SELECT 子查詢更新查詢

使用 Microsoft Access 2007 時,使用 SELECT 查詢的結果更新欄位會帶來挑戰。儘管 Access 支援 UPDATE 查詢中的 SELECT 查詢,但它禁止 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]

更新查詢:

要解決此問題,需要解決方法。

1.將SELECT 查詢轉換為表格:

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」的查詢:

SELECT YourQuery.* 
INTO MinOfTax_Code
FROM YourQuery

然後,執行生成表查詢:

這將建立一個名為MinOfTax_Code 的表,其中包含 SELECT 的結果查詢。

2.執行UPDATE 查詢:

UPDATE MinOfTax_Code 
INNER JOIN Functions ON MinOfTax_Code.func_id = Functions.Func_ID 
SET Functions.Func_TaxRef = [MinOfTax_Code].[MinOfTax_Code]

現在,執行UPDATE 查詢:

透過將聚合分解為單獨的表,Access 允許使用下列指令成功更新Functions 表: SELECT 查詢的結果。

以上是如何使用帶有聚合的 SELECT 查詢結果更新 Microsoft Access 中的欄位?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn