News & Tipps zu Microsoft Access

Lesen Sie hier einige der besten Beiträge aus SmartTools Access Weekly sowie ausgewählte Inhalte anderer E-Mail-Newsletter von SmartTools Publishing rund um Microsoft Access.

Beitrag aus SmartTools Access Weekly

Ungleiche Anzahl von Feldern mit UNION-Abfrage selektieren

Access 365 2024 2021 2019 2016 2013 2010

FRAGE Ich möchte mit einer UNION-Abfrage Daten aus mehreren Tabellen selektieren. Einige Felder sind jedoch zum Beispiel nur in der ersten, andere nur in der zweiten oder dritten Tabelle vorhanden, so dass sich nicht die gleiche Anzahl von Feldern pro Tabelle selektieren lässt. Kann man dieses Problem lösen und wenn ja, wie? Mir ist außerdem aufgefallen, dass eine UNION-Abfrage doppelte Datensätze generell herausfiltert und sich das nicht wie bei anderen Abfragetypen in den Eigenschaften steuern lässt. Welche Möglichkeiten habe ich, das zu beeinflussen?

Diverse Anfragen

ANTWORT Wenn die Felder nicht durchgehend verfügbar sind, geben Sie ein fehlendes Feld einfach mit "Null" an wie im folgenden Beispiel:

SELECT Feldame1, Feldname2
FROM Tabelle_1
UNION SELECT Feldname1, Null
FROM Tabelle_2
UNION SELECT Null, Feldname2
FROM Tabelle_3;

Alternativ können Sie auch feste Werte für fehlende Felder angeben:

SELECT Feldame1, Feldname2
FROM Tabelle_1
UNION SELECT Feldname1, "X" AS Feldname2
FROM Tabelle_2
UNION SELECT Val(99) AS Feldname1, Feldname2
FROM Tabelle_3;

Um alle Datensätze, egal ob doppelt oder nicht, zu selektieren, nutzen Sie den Zusatz "ALL" wie folgt:

SELECT Feldame1, Feldname2
FROM Tabelle_1
UNION ALL SELECT Feldame1, Feldname2
FROM Tabelle_2
UNION ALL SELECT Feldame1, Feldname2
FROM Tabelle_3;