Heim >Datenbank >MySQL-Tutorial >Wie kann ich ein Feld in Microsoft Access mithilfe des Ergebnisses einer SELECT-Abfrage mit Aggregaten aktualisieren?
Abfrage mithilfe der SELECT-Unterabfrage aktualisieren
Bei der Arbeit mit Microsoft Access 2007 stellt das Aktualisieren eines Felds mit dem Ergebnis einer SELECT-Abfrage eine Herausforderung dar. Obwohl Access SELECT-Abfragen innerhalb von UPDATE-Abfragen unterstützt, verbietet es Aggregationen innerhalb des UPDATE-Teils.
Betrachten Sie das folgende Beispiel:
SELECT-Abfrage:
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-Abfrage:
UPDATE FUNCTIONS SET FUNCTIONS.Func_TaxRef = [Result of Select query]
Um dieses Problem zu beheben Problem, eine Problemumgehung ist erforderlich.
1. Konvertieren Sie eine SELECT-Abfrage in eine Tabelle:
Erstellen Sie eine Abfrage mit dem Namen „YourQuery“ mit der folgenden Definition:
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
Führen Sie dann eine Make Table-Abfrage aus:
SELECT YourQuery.* INTO MinOfTax_Code FROM YourQuery
Dadurch wird eine Tabelle mit dem Namen MinOfTax_Code erstellt, die die Ergebnisse des SELECT-Vorgangs enthält Abfrage.
2. UPDATE-Abfrage durchführen:
Führen Sie nun die UPDATE-Abfrage aus:
UPDATE MinOfTax_Code INNER JOIN Functions ON MinOfTax_Code.func_id = Functions.Func_ID SET Functions.Func_TaxRef = [MinOfTax_Code].[MinOfTax_Code]
Durch die Aufteilung der Aggregation in eine separate Tabelle ermöglicht Access die erfolgreiche Aktualisierung der Funktionstabelle mit das Ergebnis der SELECT-Abfrage.
Das obige ist der detaillierte Inhalt vonWie kann ich ein Feld in Microsoft Access mithilfe des Ergebnisses einer SELECT-Abfrage mit Aggregaten aktualisieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!