使用 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中文網其他相關文章!