ホームページ >データベース >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 クエリをテーブルに変換します:

次の定義を使用して 'YourQuery' という名前のクエリを作成します:

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

次に、テーブル作成クエリを実行します:

SELECT YourQuery.* 
INTO MinOfTax_Code
FROM YourQuery

これにより、SELECT の結果を含む MinOfTax_Code という名前のテーブルが作成されます。クエリ。

2. UPDATE クエリを実行します:

次に、UPDATE クエリを実行します:

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

集計を別のテーブルに分割することで、Access は次の関数テーブルを正常に更新できます。 SELECT クエリの結果。

以上が集計を使用した SELECT クエリの結果を使用して Microsoft Access のフィールドを更新するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。