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;