Verwenden von SELECT innerhalb einer UPDATE-Abfrage in Access
In Microsoft Access umfasst das Ausführen von Aktualisierungen in einer Datenbank häufig die Verwendung einer UPDATE-Abfrage. Wenn für eine Aktualisierung jedoch ein Ergebnis erforderlich ist, das aus einer separaten SELECT-Abfrage berechnet wird, reicht der einfache Ansatz möglicherweise nicht aus.
Betrachten Sie zwei Szenarien:
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]
In Microsoft Access 2007 ist es nicht möglich, Aggregate (z. B. Min, Max) direkt in eine UPDATE-Abfrage einzuschließen. Eine Problemumgehung besteht jedoch darin, die Funktionen von SELECT- und Make Table-Abfragen zu nutzen.
Schritt 1: Erstellen Sie eine Abfrage zur Berechnung des Aggregats
Erstellen Sie eine Abfrage, die die Mindeststeuer berechnet Code aus den Tabellen TAX und FUNCTIONS basierend auf bestimmten Kriterien und gruppiert die Ergebnisse nach Func_ID Feld:
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
Speichern Sie diese Abfrage als YourQuery.
Schritt 2: Abfrage in Tabelle konvertieren
Da UPDATE-Abfragen nur für Tabellen ausgeführt werden können , verwenden Sie eine Make Table-Abfrage, um die berechneten Ergebnisse in einer neuen Tabelle mit dem Namen zu speichern MinOfTax_Code:
SELECT YourQuery.* INTO MinOfTax_Code FROM YourQuery
Schritt 3: UPDATE-Abfrage durchführen
Führen Sie abschließend eine UPDATE-Abfrage aus, die die Functions-Tabelle mit der MinOfTax_Code-Tabelle verknüpft und das Func_TaxRef-Feld aktualisiert:
UPDATE MinOfTax_Code INNER JOIN Functions ON MinOfTax_Code.func_id = Functions.Func_ID SET Functions.Func_TaxRef = [MinOfTax_Code].[MinOfTax_Code]
Mit dieser Problemumgehung können Sie die Ergebnisse eines verwenden SELECT-Abfrage zum Aktualisieren eines Felds in einer anderen Tabelle in Microsoft Access 2007.
Das obige ist der detaillierte Inhalt vonWie kann ich das Ergebnis einer SELECT-Abfrage verwenden, um eine Tabelle in Microsoft Access zu aktualisieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!