window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'G-TCJTE9L38H');

Abfragen [basics]: Daten zusammenfassen mit UNION

Lies diesen Artikel und viele weitere mit einem kostenlosen, einwöchigen Testzugang.

Die meisten Abfragetypen unter Access lassen sich in der Entwurfsansicht zusammenstellen. Einer der Exoten, für die der Entwurf keine Funktion bietet, ist die UNION-Abfrage. Warum ist das so Weil UNION-Abfragen gleich mehrere Abfragen miteinander verbinden, und das lässt sich in der Entwurfsansicht schlicht nicht abbilden. Allerdings gibt es neben der Entwurfsansicht und der Datenblattansicht noch eine dritte Ansicht für Abfragen, nämlich die SQL-Ansicht. Diese lässt sich zu Lernzwecken übrigens auch nutzen, um einmal den SQL-Code herkömmlicher Abfragen zu untersuchen. In diesem Artikel geht es allerdings erst einmal um die UNION-Abfrage: Sie verbindet zwei oder mehr Abfragen mit einander, wobei für diese Abfragen bestimmte Regel gelten – sie müssen zum Beispiel die gleiche Anzahl Felder haben. Alles Wichtige zu UNION-Abfragen liefern die folgenden Seiten.

Beispieldatenbank

Die Beispiele dieses Artikels finden Sie in der Datenbank AbfragenBasics_Unionabfragen.accdb.

Einsatzzwecke von UNION-Tabellen

UNION-Tabellen setzen wir immer dann ein, wenn wir die Daten aus mehr als einer Tabelle in einer Abfrage zusammenführen wollen. Vielleicht denkst Du jetzt, dass man das ja auch ohne UNION-Abfragen machen kann – zum Beispiel, indem man die Kunden-Tabelle und die Anreden-Tabelle in eine Abfrage zieht, um die Kunden samt Anreden darzustellen.

Das ist jedoch nicht der Fall, für den UNION-Tabellen vorgesehen sind: Sie sollen nicht die Daten verknüpfter Tabellen in einem Datensatz darstellen, sondern sie sollen gleichartige Daten aus verschiedenen Tabellen zusammenführen, und zwar so, dass im einfachsten Fall alle Datensätze der ersten Tabelle und alle Datensätze der zweiten Tabelle untereinander dargestellt werden.

Wozu sollte man das nutzen Macht es nicht viel mehr Sinn, solche Daten direkt in einer einzigen Tabelle zu speichern, statt diese auf zwei oder mehr Tabellen zu verteilen und diese anschließend mit einer UNION-Abfrage wieder zusammenzuführen Nein, denn wir beziehen uns hier auf solche Fälle, wo die Daten aus gutem Grund auf mehrere Tabellen aufgeteilt wurden. Zum Beispiel kann es sein, dass wir eine Datenbank verwenden, um Transaktionen auf einer Handelsplattform zu verwalten. Dort gibt es zu jeder Transaktion einen Käufer und einen Verkäufer. Diese sind in verschiedenen Tabellen namens tblKaeufer und tblVerkaeufer gespeichert (siehe Bild 1).

Formular-Entwurf unseres Beispielformulars

Bild 1: Formular-Entwurf unseres Beispielformulars

Das kann man so machen, gerade wenn man aus Performancegründen nicht alle Daten in einer Tabelle speichern möchte. Nun gibt es jedoch Fälle, in denen man dennoch bestimmte Daten von Käufern und Verkäufern in einer einzigen Abfrage sehen möchte – beispielsweise, um allen eine Information über eine neue Funktion der Handelsplattform zu übermitteln.

Genau das ist der Einsatzzweck für eine UNION-Abfrage.

SQL-Ansicht aktivieren

Wenn wir eine neue, leere Abfrage erstellt haben, können wir von der Entwurfsansicht aus zur SQL-Ansicht wechseln. Dazu klicken wir oben links im Ribbon-Tab Abfrageentwurf auf die Schaltfläche SQL (siehe Bild 2).

Wechseln zur SQL-Ansicht einer Abfrage

Bild 2: Wechseln zur SQL-Ansicht einer Abfrage

Damit aktivieren die SQL-Ansicht, die ziemlich karg daherkommt (siehe Bild 3).

SQL-Ansicht einer Abfrage

Bild 3: SQL-Ansicht einer Abfrage

Ende des frei verfügbaren Teil. Wenn Du mehr lesen möchtest, hole Dir ...

Testzugang

eine Woche kostenlosen Zugriff auf diesen und mehr als 1.000 weitere Artikel

diesen und alle anderen Artikel mit dem Jahresabo

Schreibe einen Kommentar