| | Produktinformationen Hilfe und Anleitungen Schulung Vorlagen Support und Feedback Technische Ressourcen Zusätzliche Ressourcen |
Kombinieren der Ergebnisse von mehreren Auswahlabfragen mithilfe einer Union-Abfrage
Sie verwenden eine Union-Abfrage, wenn Sie alle Daten prüfen möchten, die von mehreren ähnlichen Auswahlabfragen gemeinsam als kombiniertes Set zurückgegeben werden.
In diesem Artikel wird erläutert, wie Sie eine Union-Abfrage aus zwei oder mehr vorhandenen Auswahlabfragen erstellen. Darüber hinaus wird beschrieben, wie eine Union-Abfrage mit SQL (Structured Query Language) geschrieben wird.
Zum Durcharbeiten der Beispiele in diesem Artikel ist ein grundlegendes Verständnis der Vorgehensweise zum Erstellen und Ausführen von Auswahlabfragen erforderlich. Weitere Informationen zum Erstellen von Auswahlabfragen finden Sie unter den Verknüpfungen im Abschnitt Siehe auch.
Inhalt dieses Artikels
Grundlagen von Union-Abfragen
Wie funktioniert eine Union-Abfrage?
Eine Union-Abfrage kombiniert die Ergebnissets von mehreren ähnlichen Auswahlabfragen.
Einmal angenommen, Sie verfügen über eine Tabelle mit Kundendaten und eine weitere mit Lieferantendaten, und zwischen diesen beiden Tabellen gibt es keine Beziehung. In beiden Tabellen befinden sich Felder mit Kontaktdaten, und Sie möchten alle Kontaktdaten aus beiden Tabellen gleichzeitig anzeigen.
Sie könnten nun eine Auswahlabfrage (Auswahlabfrage: Eine Abfrage zu den in Ihren Tabellen gespeicherten Daten, die ein Resultset in Form eines Datenblattes zurückgibt, ohne die Daten zu ändern.) für jede Tabelle erstellen, um nur die Felder abzurufen, die Kontaktdaten enthalten, allerdings befänden sich die zurückgegebenen Daten dann immer noch an zwei unterschiedlichen Positionen. Zum Kombinieren der Ergebnisse von zwei oder mehr Auswahlabfragen bietet sich nun eine Union-Abfrage an.
Anforderungen, die für Union-Abfragen erfüllt sein müssen
Die Auswahlabfragen, die Sie zu einer Union-Abfrage kombinieren, müssen über die gleiche Anzahl Ausgabefelder verfügen, die Ausgabefelder müssen die gleiche Reihenfolge sowie die gleichen oder kompatible Datentypen aufweisen. Beim Ausführen einer Union-Abfrage werden die Daten aus jedem Satz einander entsprechender Felder zu einem Ausgabefeld kombiniert, sodass die Ausgabe der Abfrage über die gleiche Anzahl Felder wie jede der Auswahlanweisungen verfügt. Hinweis Im Rahmen einer Union-Abfrage sind die Datentypen "Zahl" und "Text" kompatibel.
Eine Union-Abfrage ist SQL-spezifisch. SQL-spezifische Abfragen können nicht in der Entwurfsansicht angezeigt werden und müssen daher direkt in SQL geschrieben werden. In Microsoft Office Access 2007 verwenden Sie die Objektregisterkarte SQL-Ansicht zum Schreiben von SQL-spezifischen Abfragen wie Union-Abfragen.
Tipp Jede Abfrage kann in Form von SQL-Anweisungen dargestellt werden. Die meisten Abfragen können auch im Abfrageentwurfsbereich (Entwurfsbereich: Das Raster, mit dessen Hilfe Sie in der Entwurfsansicht einer Abfrage oder im Fenster "Spezialfilter/-sortierung" eine Abfrage oder einen Filter entwerfen. Im Zusammenhang mit Abfragen wurde dieses Raster früher als QBE-Bereich bezeichnet.) dargestellt werden. Dieser Entwurfsbereich, sofern verfügbar, stellt eine einfachere Umgebung zum Erstellen von Abfragen dar. Beim Erstellen einer Abfrage im Entwurfsbereich können Sie immer in die SQL-Ansicht umschalten und so die SQL-Anweisung anzeigen, die beim Ausführen der Abfrage verarbeitet wird. Es empfiehlt sich, Abfragen immer in der SQL-Ansicht anzuzeigen, um sich mit SQL vertraut zu machen und um das Verständnis der Arbeitsweise von Abfragen zu verbessern. In einigen Fällen ist die SQL-Ansicht möglicherweise sogar hilfreich für die Problembehandlung einer Abfrage, mit der nicht die erwarteten Ergebnisse zurückgegeben werden.
SQL-Syntax einer Union-Abfrage
In einer Union-Abfrage weist jede Auswahlabfrage (auch als Auswahlanweisung bezeichnet) eine SELECT-Klausel und eine FROM-Klausel auf und kann auch über eine WHERE-Klausel verfügen.In der SELECT-Klausel werden die Felder angegeben, die die abzurufenden Daten enthalten, in der FROM-Klausel werden die Tabellen aufgeführt, in denen diese Felder enthalten sind, und mit der WHERE-Klausel werden Kriterien für diese Felder festgelegt. Auswahlanweisungen in einer Union-Abfrage werden mit mit dem Schlüsselwort UNION kombiniert.
Die grundlegende SQL-Syntax für eine Union-Abfrage, mit der zwei Auswahlabfragen kombiniert werden, sieht wie folgt aus: SELECT field_1[, field_2,…]
FROM table_1[, table_2,…]
UNION [ALL]
SELECT field_a[, field_b,...]
FROM table_a[, table_b,…];
Nehmen wir beispielsweise einmal an, Sie verfügen über eine Tabelle mit Namen "Products" und eine weitere Tabelle mit Namen "Services". In beiden Tabellen gibt es Felder, die den Namen des Produkts oder des Diensts ("name"), den Preis ("price") sowie die Verfügbarkeit von Gewährleistung oder Garantie ("warranty_available") umfassen. Darüber hinaus gibt es ein Feld, das angibt, ob Sie das Produkt oder den Dienst exklusiv anbieten ("exclusive_offer"). Obwohl in der Tabelle "Products" Informationen zur Gewährleistung und in der Tabelle "Services" Informationen zur Garantie gespeichert sind, sind die Daten im Grunde genommen die gleichen (ob für ein bestimmtes Produkt oder für einen Dienst eine Qualitätszusage gegeben wird). Sie können nun eine Union-Abfrage wie die folgende verwenden, um diese vier Felder aus den beiden Tabellen zu kombinieren: SELECT name, price, warranty_available, exclusive_offer
FROM Products
UNION ALL
SELECT name, price, guarantee_available, exclusive_offer
FROM Services;
Wir wollen das vorstehende Syntaxbeispiel nun Zeile für Zeile durchgehen.
- SELECT name, price, warranty_available, exclusive_offer Dies ist die SELECT-Klausel, mit der eine Auswahlabfrage begonnen wird. SELECT wird gefolgt von einer Liste mit Bezeichnern, mit denen Felder angegeben werden, aus denen Daten abgerufen werden sollen. In einer SELECT-Klausel muss immer mindestens ein Feld angegeben werden. Die vorliegende SELECT-Klausel umfasst die Feldbezeichner name, price, warranty_available und exclusive_offer.
- FROM Products Dies ist die FROM-Klausel. Eine FROM-Klausel folgt auf eine SELECT-Klausel, und gemeinsam bilden diese beiden Klauseln die grundlegende Auswahlanweisung. Auf FROM folgt eine Liste mit Bezeichnern, die angeben, in welchen Tabellen die Felder enthalten sind, die in der SELECT-Klausel aufgeführt sind. In einer FROM-Klausel muss immer mindestens eine Tabelle angegeben werden. In der vorliegenden FROM-Klausel wird der Tabellenbezeichner Products verwendet.
- UNION ALL Dies ist das Schlüsselwort UNION mit dem optionalen Schlüsselwort ALL. UNION gibt an, dass die Ergebnisse der SELECT-Anweisung, die dem Schüsselwort UNION vorausgeht, mit den Ergebnissen der SELECT-Anweisung kombiniert werden sollen, die auf UNION folgt.
Bei Verwendung des Schlüsselworts ALL werden doppelt vorhandene Zeilen nicht aus dem kombinierten Ergebnisset entfernt, das mit UNION erstellt wird. Hiermit kann die Leistung der Abfrage erheblich gesteigert werden, da Access die Ergebnisse nun nicht auf Duplikate prüfen muss. Das Schlüsselwort ALL sollte verwendet werden, wenn beliebige der folgenden Bedingungen zutreffen:
- Sie sind sicher, dass mit der Auswahlabfrage keine doppelt vorhandenen Zeilen zurückgegeben werden.
- Es ist unerheblich, wenn das Abfrageergebnis doppelte Zeile enthält.
- Sie möchten die doppelt vorhandenen Zeilen anzeigen.
In diesem Beispiel wird das Schlüsselwort ALL verwendet, weil nicht davon auszugehen ist, dass doppelte Zeilen zurückgegeben werden und weil es keinen Grund gibt, die Duplikate nicht aufzulisten, sofern solche vorhanden sind.
- SELECT name, price, guarantee_available, exclusive_offer Dies ist die zweite SELECT-Klausel, mit der die zweite SELECT-Anweisung in der Union-Abfrage begonnen wird. Beim Schreiben einer Union-Abfrage müssen die Felder in der SELECT-Anweisung einander entsprechen, d. h. die SELECT-Anweisungen müssen über die gleiche Anzahl Felder verfügen, Felder mit gleichen Daten müssen in der Klausel in der gleichen Reihenfolge auftreten und müssen wie im Beispiel gezeigt den gleichen oder einen kompatiblen Datentyp aufweisen. Die Felder müssen einander entsprechen, damit sie in der Ausgabe der Abfrage kombiniert werden können.
Hinweis Die Namen der Felder in der Ausgabe einer Union-Abfrage werden der ersten SELECT-Klausel entnommen. Im vorliegenden Beispiel werden die Daten aus den Feldern "warranty_available" und "guarantee_available" in der Abfrageausgabe unter dem Namen "warranty_available" zusammengefasst.
- FROM Services Dies ist die zweite FROM-Klausel, mit der die zweite SELECT-Anweisung in der Union-Abfrage abgeschlossen wird. Im Gegensatz zu den Feldern in den SELECT-Klauseln gibt es in den FROM-Klauseln einer Union-Abfrage keine Beschränkungen im Hinblick auf die angegebenen Tabellen. Sie können eine Union-Abfrage erstellen, in der in jeder FROM-Klausel die gleichen Tabellen verwendet werden. In den FROM-Klauseln kann auch jeweils eine unterschiedliche Anzahl Tabellen angegeben werden. Im vorliegenden Beispiel weisen die FROM-Klauseln nur jeweils eine Tabelle auf.
Seitenanfang
Erstellen einer Union-Abfrage
Es gibt zwei grundlegende Methoden zum Erstellen einer Union-Abfrage:
In den meisten Fällen empfiehlt es sich, zunächst die Auswahlabfragen zu erstellen und diese dann in einer Union-Abfrage zu kombinieren. In Office Access 2007 steht mit der Entwurfsansicht ein einfach zu verwendende grafische Benutzeroberfläche zum Erstellen von Auswahlabfragen bereit, und Sie können die SQL-Anweisungen für diese Abfragen kopieren und in die Union-Abfrage einfügen.
Wenn Sie allerdings mit dem Schreiben von SQL-Anweisungen vertraut sind oder wenn Sie Ihre Kenntnisse im Hinblick auf das Schreiben von SQL-Anweisungen erweitern möchten, bietet es sich an, die Union-Abfrage direkt in der SQL-Ansicht zu schreiben.
Was möchten Sie tun?
Erstellen der Auswahlabfragen in der Entwurfsansicht und Kombinieren der Abfragen zu einer Union-Abfrage
Mit dieser Methode wird jede Auswahlabfrage zunächst in der Entwurfsansicht erstellt. Anschließend werden die Auswahlabfragen in der SQL-Ansicht kombiniert.
Erstellen der Union-Abfrage direkt in der SQL-Ansicht
- Klicken Sie auf der Registerkarte Erstellen in der Gruppe Andere auf Abfrageentwurf.
- Doppelklicken Sie im Dialogfeld Tabelle anzeigen auf die Tabelle, in der sich die einzuschließenden Felder befinden.
Die Tabelle wird dem Abfrageentwurfsfenster hinzugefügt.
Hinweis Obwohl Sie in eine Auswahlabfrage mehrere Tabellen oder Abfragen einschließen können, wird bei diesem Verfahren davon ausgegangen, dass jede Ihrer Auswahlabfragen nur Daten aus jeweils einer Tabelle umfasst.
- Schließen Sie das Dialogfeld Tabelle anzeigen.
- Doppelklicken Sie im Abfrageentwurfsfenster auf jedes Feld, dass Sie einschließen möchten.
Vergewissern Sie sich bei der Auswahl der Felder, dass Sie die gleiche Anzahl Felder in der gleichen Reihenfolge wie in den anderen Auswahlabfragen hinzufügen. Achten Sie auch unbedingt auf die Datentypen der Felder, und stellen Sie sicher, dass Felder an den gleichen Positionen in den anderen Abfragen, die Sie kombinieren möchten, den gleichen oder einen kompatiblen Datentyp aufweisen.
Wenn Ihre erste Auswahlabfrage beispielsweise fünf Felder aufweist und das erste Feld vom Datentyp "Datum/Uhrzeit" ist, muss auch jede weitere Auswahlabfrage, die Sie kombinieren möchten, fünf Felder aufweisen und das erste hiervon muss vom Datentyp "Datum/Uhrzeit" usw. sein.
- Optional können Sie den Feldern Kriterien zuweisen, indem Sie die geeigneten Ausdrücke (Ausdruck: Eine beliebige Kombination aus mathematischen oder logischen Operatoren, Konstanten, Funktionen sowie Namen von Feldern, Steuerelementen und Eigenschaften, die einen einzigen Wert ergibt. Mithilfe von Ausdrücken können Berechnungen ausgeführt, Zeichen bearbeitet oder Daten getestet werden.) in die Zeile Kriterien des Feldrasters eingeben.
- Wenn Sie alle Felder und Feldkriterien hinzugefügt haben, sollten Sie die Auswahlabfrage ausführen und deren Ausgabe prüfen.
- Klicken Sie auf der Registerkarte Entwurf in der Gruppe Ergebnisse auf Ausführen.
- Schalten Sie in die Entwurfsansicht der Abfrage um.
- Speichern Sie die Auswahlabfrage, und lassen Sie sie geöffnet.
- Wiederholen Sie dieses Verfahren für jede der Auswahlabfragen, die Sie kombinieren möchten.
Kombinieren der Auswahlabfragen in der SQL-Ansicht
- Klicken Sie auf der Registerkarte Erstellen in der Gruppe Andere auf Abfrageentwurf.
In der Entwurfsansicht wird eine neue Abfrage geöffnet.
- Schließen Sie das Dialogfeld Tabelle anzeigen.
- Klicken Sie auf der Registerkarte Entwurf in der Gruppe Abfrage auf Union.
Das Abfrageentwurfsfenster wird ausgeblendet, und die Objektregisterkarte "SQL-Ansicht" wird angezeigt. Zu diesem Zeitpunkt ist die Objektregisterkarte "SQL-Ansicht" leer.
- Klicken Sie für die erste Auswahlabfrage, die Sie mit der Union-Abfrage kombinieren möchten, auf die Registerkarte.
- Klicken Sie auf der Registerkarte Start in der Gruppe Sichten auf Ansicht und dann auf SQL-Ansicht.
Die SQL-Anweisung für die Auswahlabfrage wird angezeigt.
- Kopieren Sie die SQL-Anweisung für die Auswahlabfrage.
- Klicken Sie auf die Registerkarte für die Union-Abfrage, mit deren Erstellung Sie in Schritt 1 dieses Verfahrens begonnen haben.
- Fügen Sie die SQL-Anweisung für die Auswahlabfrage in die Objektregisterkarte "SQL-Ansicht" der Union-Abfrage ein.
- Löschen Sie das Semikolon (;), das sich am Ende der SQL-Anweisung der Auswahlabfrage befindet.
- Drücken Sie die EINGABETASTE, um den Cursor um eine Zeile nach unten zu verschieben, und geben Sie auf der neuen Zeile nun UNION ein.
Geben Sie optional ein Leerzeichen gefolgt vom Schlüsselwort ALL ein, und drücken Sie dann erneut die EINGABETASTE.
- Klicken Sie für die nächste Auswahlabfrage, die Sie mit der Union-Abfrage kombinieren möchten, auf die Registerkarte.
- Wiederholen Sie die Schritte 5 bis 11 dieses Verfahrens, bis Sie alle SQL-Anweisungen aller Auswahlabfragen kopiert und in des Fenster "SQL-Ansicht" der Union-Abfrage eingefügt haben. Löschen Sie nicht das Semikolon, das auf die SQL-Anweisung der letzten Auswahlabfrage folgt, und nehmen Sie hier auch keine Eingabe mehr vor.
- Klicken Sie auf der Registerkarte Entwurf in der Gruppe Ergebnisse auf Ausführen.
Die Ergebnisse der Union-Abfrage werden in der Datenblattansicht (Datenblattansicht: Ein Fenster, das Daten aus einer Tabelle, einem Formular, einer Abfrage, einer Sicht oder einer gespeicherten Prozedur in einem Zeilen/Spalten-Format anzeigt. In der Datenblattansicht können Sie Felder bearbeiten, Daten hinzufügen oder löschen und nach Daten suchen.) angezeigt.
Erstellen der Union-Abfrage direkt in der SQL-Ansicht
Das folgende Verfahren führt Sie schrittweise durch die Erstellung einer grundlegenden Union-Abfrage in der SQL-Ansicht.
- Klicken Sie auf der Registerkarte Erstellen in der Gruppe Andere auf Abfrageentwurf.
In der Entwurfsansicht wird eine neue Abfrage geöffnet.
- Schließen Sie das Dialogfeld Tabelle anzeigen.
- Klicken Sie auf der Registerkarte Entwurf in der Gruppe Abfrage auf Union.
Das Abfrageentwurfsfenster wird ausgeblendet, und die Objektregisterkarte "SQL-Ansicht" wird angezeigt. Zu diesem Zeitpunkt ist die Objektregisterkarte "SQL-Ansicht" leer.
- Geben Sie auf der Objektregisterkarte SQL-Ansicht den SQL-Befehl SELECT gefolgt von einer Liste der Felder der ersten Tabelle oder des Tabellensets ein, die oder das Sie in die Abfrage einschließen möchten. Verwenden Sie Kommas zum Trennen der Feldnamen. Drücken Sie die EINGABETASTE, wenn Sie mit der Eingabe der Liste der Feldnamen fertig sind.
- Geben Sie FROM gefolgt von den Namen der Tabellen ein, in denen die Felder enthalten sind, die in der vorstehenden SELECT-Klausel aufgeführt wurden, und drücken Sie dann die EINGABETASTE.
- Wenn Sie für ein Feld aus einer dieser Tabellen eine Kriterium festlegen möchten, geben Sie WHERE gefolgt vom Namen des Felds, einen Vergleichsoperator, - normalerweise ein Gleichheitszeichen (=) - und das Kriterium ein. Sie können am Ende der WHERE-Klausel unter Verwendung der Schlüsselwörter AND oder OR weitere Kriterien angeben. Wenn Sie alle gewünschten Kriterien angegeben haben, drücken Sie die EINGABETASTE.
- Geben Sie UNION ein. Wenn Sie nicht möchten, dass bei der Abfrage doppelt vorhandene Zeilen aus der Ausgabe entfernt werden, geben Sie ein Leerzeichen gefolgt vom Schüsselwort ALL ein und drücken Sie die EINGABETASTE.
- Geben Sie SELECT gefolgt von einer Liste der Felder aus der nächsten Tabelle oder dem Tabellenset ein, die oder das in die Abfrage aufgenommen werden soll. Diese Felder müssen den Feldern in der ersten SELECT-Klausel entsprechen, und die Felder müssen die gleiche Reihenfolge aufweisen. Verwenden Sie Kommas zum Trennen der Feldnamen. Wenn Sie alle Feldnamen eingegeben haben, drücken Sie die EINGABETASTE.
- Geben Sie FROM gefolgt vom Namen der nächsten Tabelle oder den Namen des Tabellensets ein, die oder das Sie in die Abfrage einschließen möchten, und drücken Sie dann die EINGABETASTE.
- Wenn Sie für ein Feld aus einer dieser Tabellen eine Kriterium festlegen möchten, geben Sie WHERE gefolgt vom Namen des Felds, einen Vergleichsoperator - normalerweise ein Gleichheitszeichen (=) - und das Kriterium ein. Sie können am Ende der WHERE-Klausel unter Verwendung des Schlüsselworts AND weitere Kriterien angeben. Wenn Sie alle gewünschten Kriterien angegeben haben, drücken Sie die EINGABETASTE.
- Wenn Sie der Union-Abfrage weitere Auswahlanweisungen hinzufügen möchten, wiederholen Sie die Schritte 7 bis 10.
- Geben Sie ein Semikolon (;) ein, um das Ende der Abfrage anzugeben.
- Klicken Sie auf der Registerkarte Entwurf in der Gruppe Ergebnisse auf Ausführen.
Die Ergebnisse der Union-Abfrage werden in der Datenblattansicht (Datenblattansicht: Ein Fenster, das Daten aus einer Tabelle, einem Formular, einer Abfrage, einer Sicht oder einer gespeicherten Prozedur in einem Zeilen/Spalten-Format anzeigt. In der Datenblattansicht können Sie Felder bearbeiten, Daten hinzufügen oder löschen und nach Daten suchen.) angezeigt.
Seitenanfang
Tipps für die Arbeit mit Union-Abfragen
- Wenn Sie in der Lage sein möchten zu unterscheiden, welche Zeilen welcher Tabelle entnommen wurden, können Sie jeder Ihrer Auswahlabfragen eine Textzeichenfolge als Feld hinzufügen. Wenn mit einer Auswahlabfrage beispielsweise Felder aus einer Tabelle mit Namen "Product" und mit einer weiteren Auswahlabfrage Felder aus einer Tabelle mit Namen "Service" abgerufen werden, können Sie die Zeichenfolge "Procuct" als Feld an das Ende der ersten Anweisung und die Zeichenfolge "Service" als Feld an das Ende der zweiten Anweisung anfügen. Sie können den Zeichenfolgen auch einen Feldalias (z. B. "type") zuweisen, indem Sie wie im folgenden Beispiel gezeigt das Schlüsselwort AS verwenden:
SELECT field1, field2, ... "Product" AS type
SELECT field1, field2, ... "Service" AS type
Die Abfrageausgabe enthält nun ein Feld mit Namen "type", das angibt, ob die Zeile aus der Tabelle "Product" oder aus der Tabelle "Service" stammt.
- Mit jedem UNION-Schlüsselwort werden die SELECT-Anweisungen kombiniert, die dem Schlüsselwort unmittelbar vorangehen oder unmittelbar hierauf folgen. Wenn Sie in Verbindung mit einigen UNION-Schlüsselwörtern in der Abfrage das Schlüsselwort ALL verwenden, bei anderen jedoch nicht, enthält das Ergebnisse die doppelten Zeilen aus den SELECT-Anweisungspaaren, die unter Verwendung von UNION ALL kombiniert wurden, jedoch keine doppelten Zeilen aus SELECT-Anweisungen, die mit UNION ohne ALL kombiniert wurden.
- Obwohl die Anzahl, der Datentyp und die Reihenfolge der Felder in den Auswahlabfragen übereinstimmen muss, die Sie mit einer Union-Abfrage kombinieren, können Sie Ausdrücke wie Berechnungen oder Unterabfragen verwenden, um für diese Übereinstimmung zu sorgen. So können Sie beispielsweise für Übereinstimmung zwischen einem Feld mit einer zweistelligen Jahresangabe und einem Feld mit einer vierstelligen Jahresangabe sorgen, indem Sie mit der Funktion Right die letzten beiden Ziffern der vierstelligen Jahresangabe extrahieren.
- Wenn Sie auf Basis der Ausgabe einer Union-Abfrage eine neue Tabelle erstellen möchten, können Sie die Union-Abfrage als Eingabe für eine neue Auswahlabfrage verwenden und diese Auswahlabfrage dann als Grundlage für eine Tabellenerstellungsabfrage (Tabellenerstellungsabfrage: Eine Abfrage [SQL-Anweisung], die eine neue Tabelle erstellt und in diese Tabelle dann die in einer vorhandenen Tabelle enthaltenen Datensätze [Zeilen] kopiert.) verwenden:
-
- Erstellen und speichern Sie die Union-Abfrage.
- Klicken Sie auf der Registerkarte Erstellen in der Gruppe Andere auf Abfrageentwurf.
- Klicken Sie im Dialogfeld Tabelle anzeigen auf die Registerkarte Abfragen.
- Doppelklicken Sie auf die Union-Abfrage, und schließen Sie dann das Dialogfeld Tabelle anzeigen.
Hinweis Wird in der Statusleiste eine Sicherheitswarnung angezeigt, sind Aktionsabfragen wie Tabellenerstellungsabfragen möglicherweise deaktiviert. Klicken Sie zum Aktivieren der Ausführung von Aktionsabfragen in der Statusleiste auf Optionen, und klicken Sie dann im Dialogfeld Microsoft Office-Sicherheitsoptionen auf Diesen Inhalt aktivieren.
- Doppelklicken Sie im Abfrageentwurfsbereich auf der Objektregisterkarte der Union-Abfrage auf den Stern (*), wenn alle Felder der Abfrage für die Erstellung der neuen Tabelle verwendet werden sollen,
- oder -
doppelklicken Sie auf jedes Feld, das in die neue Tabelle aufgenommen werden soll.
- Klicken Sie auf der Registerkarte Entwurf in der Gruppe Abfragetyp auf Tabelle erstellen.
- Geben Sie im Dialogfeld Tabelle erstellen einen Namen für die neue Tabelle an, geben Sie optional eine andere Datenbank an, in der die Tabelle erstellt werden soll, und klicken Sie dann auf OK.
- Klicken Sie auf der Registerkarte Entwurf in der Gruppe Ergebnisse auf Ausführen.
- Mit einer Union-Abfrage kann eine volle äußere Verknüpfung (Äußere Verknüpfung [Inklusionsverknüpfung]: Eine Verknüpfung, bei der alle zusammengehörigen Datensätze aus zwei Tabellen im Ergebnis einer Abfrage in einem Datensatz kombiniert werden und sämtliche Datensätze aus einer der Tabellen hinzugefügt werden, auch wenn sie keine entsprechenden Werte im verknüpften Feld der anderen Tabelle haben.) vorgenommen werden. Bei einer vollen äußeren Verknüpfung werden die Zeilen nicht eingeschränkt, die aus jeder der verknüpften Tabellen zurückgegeben werden, sondern auf Basis der Werte im Verknüpfungsfeld kombiniert.
So verwenden Sie eine Union-Abfrage zur Durchführung einer vollen äußeren Verknüpfung
- Erstellen Sie eine Abfrage, bei der eine linke äußere Verknüpfung für ein Feld definiert wurde, das Sie für eine volle äußere Verknüpfung verwenden möchten.
- Klicken Sie auf der Registerkarte Start in der Gruppe Sichten auf Ansicht und dann auf SQL-Ansicht.
- Drücken Sie zum Kopieren des SQL-Codes STRG+C.
- Löschen Sie das Semikolon am Ende der FROM-Klausel, und drücken Sie dann die EINGABETASTE.
- Geben Sie UNION ein, und drücken Sie dann die EINGABETASTE.
Hinweis Verwenden Sie in Verbindung mit einer Union-Abfrage zur Durchführung einer vollen äußeren Verknüpfung nicht das Schlüsselwort ALL.
- Drücken Sie STRG+V, um den in Schritt 3 kopierten SQL-Code einzufügen.
- Ändern Sie in dem eingefügten Code LEFT JOIN in RIGHT JOIN.
- Löschen Sie das Semikolon am Ende der zweiten FROM-Klausel, und drücken Sie dann die EINGABETASTE.
- Fügen Sie eine WHERE-Klausel hinzu, mit der angegeben wird, dass der Wert des Verknüpfungsfelds in der ersten Tabelle, die in der FROM-Klausel aufgeführt wird (der linken Tabelle), NULL ist.
Wenn die FROM-Klausel beispielsweise wie folgt lautet: FROM Products RIGHT JOIN [Order Details]
ON Products.ID = [Order Details].[Product ID]
fügen Sie die folgende WHERE-Klausel hinzu: WHERE Products.ID IS NULL
- Geben Sie am Ende der WHERE-Klausel ein Semikolon (;) ein, um das Ende der Union-Abfrage anzugeben.
- Klicken Sie auf der Registerkarte Entwurf in der Gruppe Ergebnisse auf Ausführen.
Seitenanfang
|