Kombinieren der Ergebnisse mehrerer 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 kombinierten Satz 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 im Abschnitt Siehe auch.

Inhalt dieses Artikels


Übersicht

Wie funktioniert eine Union-Abfrage?

Eine Union-Abfrage kombiniert die Ergebnisse mehrerer ähnlicher Auswahlabfragen.

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 Stellen. 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 von Ausgabefeldern verfügen, und 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 von Feldern wie jede der Auswahlanweisungen verfügt.

 Hinweis   Zum Zweck 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 SQL-spezifischer 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 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 Feld_1[, Feld_2,…] 
FROM Tabelle_1[, Tabelle_2, …]
UNION [ALL]
SELECT Feld_a[, Feld_b,...]
FROM Tabelle_a[, Tabelle_b,…];

Angenommen, Sie verfügen über eine Tabelle mit Namen "Artikel" und eine weitere Tabelle mit Namen "Dienstleistungen". In beiden Tabellen gibt es Felder, die den Namen des Artikels oder der Dienstleistung ("Name"), den Preis ("Preis") sowie die Verfügbarkeit von Gewährleistung oder Garantie ("Gewährleistung_verfügbar") umfassen. Darüber hinaus gibt es ein Feld, das angibt, ob Sie das Produkt oder die Dienstleistung exklusiv anbieten ("exklusives_Angebot"). Obwohl in der Tabelle "Artikel" Informationen zur Gewährleistung und in der Tabelle "Dienstleistungen" Informationen zur Garantie gespeichert sind, sind die Daten im Grunde genommen die gleichen (ob für ein bestimmtes Produkt oder für einen Service 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, Preis, Gewährleistung_verfügbar, exklusives_Angebot 
FROM Artikel 
UNION ALL
SELECT Name, Preis, Garantie_verfügbar, exklusives_Angebot
FROM Dienstleistungen;

Wir wollen das vorstehende Syntaxbeispiel nun Zeile für Zeile durchgehen.

  • SELECT Name, Preis, Gewährleistung_verfügbar, exklusives_Angebot    Dies ist die SELECT-Klausel, mit der eine Auswahlabfrage begonnen wird. Auf SELECT folgt eine 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, Preis, Gewährleistung_verfügbar und exklusives_Angebot.
  • FROM Artikel    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 Artikel 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 Schlü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 Ergebnis 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, ob 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 vorhanden.

  • SELECT Name, Preis, Garantie_verfügbar, exklusives_Angebot    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 von Feldern 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 "Gewährleistung_verfügbar" und "Garantie_verfügbar" in der Abfrageausgabe unter dem Namen "Gewährleistung_verfügbar" zusammengefasst.

  • FROM Dienstleistungen     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 von Tabellen angegeben werden. Im vorliegenden Beispiel weisen die FROM-Klauseln nur jeweils eine Tabelle auf.

Seitenanfang 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 eine 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 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 einzelnen Auswahlabfragen in der Entwurfsansicht

  1. Klicken Sie auf der Registerkarte Erstellen in der Gruppe Andere auf Abfrageentwurf.
  1. 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.

  1. Schließen Sie das Dialogfeld Tabelle anzeigen.
  2. Doppelklicken Sie im Abfrageentwurfsfenster auf jedes Feld, das Sie einschließen möchten.

Vergewissern Sie sich bei der Auswahl der Felder, dass Sie die gleiche Anzahl von Feldern 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 den Datentyp "Datum/Uhrzeit" hat, muss auch jede weitere Auswahlabfrage, die Sie kombinieren möchten, fünf Felder aufweisen, und das erste hiervon muss den Datentyp "Datum/Uhrzeit" usw. haben.

  1. 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.
  2. 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.
  1. Schalten Sie in die Entwurfsansicht der Abfrage um.
  2. Speichern Sie die Auswahlabfrage, und lassen Sie sie geöffnet.
  3. Wiederholen Sie dieses Verfahren für jede der Auswahlabfragen, die Sie kombinieren möchten.

Kombinieren der Auswahlabfragen in der SQL-Ansicht

  1. Klicken Sie auf der Registerkarte Erstellen in der Gruppe Andere auf Abfrageentwurf.

In der Entwurfsansicht wird eine neue Abfrage geöffnet.

  1. Schließen Sie das Dialogfeld Tabelle anzeigen.
  2. Klicken Sie auf der Registerkarte Entwurf in der Gruppe Abfrage auf Union.

Das Abfrageentwurfsfenster wird ausgeblendet, die Objektregisterkarte SQL-Ansicht angezeigt. Zu diesem Zeitpunkt ist die Objektregisterkarte SQL-Ansicht leer.

  1. Klicken Sie für die erste Auswahlabfrage, die Sie mit der Union-Abfrage kombinieren möchten, auf die Registerkarte.
  2. Klicken Sie auf der Registerkarte Start in der Gruppe Ansichten auf Ansicht und dann auf SQL-Ansicht.

Die SQL-Anweisung für die Auswahlabfrage wird angezeigt.

  1. Kopieren Sie die SQL-Anweisung für die Auswahlabfrage.
  2. Klicken Sie auf die Registerkarte für die Union-Abfrage, mit deren Erstellung Sie in Schritt 1 dieses Verfahrens begonnen haben.
  3. Fügen Sie die SQL-Anweisung für die Auswahlabfrage in die Objektregisterkarte SQL-Ansicht der Union-Abfrage ein.
  4. Löschen Sie das Semikolon (;), das sich am Ende der SQL-Anweisung der Auswahlabfrage befindet.
  5. Drücken Sie die EINGABETASTE, um den Cursor um eine Zeile nach unten zu verschieben, und geben Sie in die neue Zeile nun UNION ein.

Geben Sie optional ein Leerzeichen gefolgt vom Schlüsselwort ALL ein, und drücken Sie dann erneut die EINGABETASTE.

  1. Klicken Sie für die nächste Auswahlabfrage, die Sie mit der Union-Abfrage kombinieren möchten, auf die Registerkarte.
  2. Wiederholen Sie die Schritte 5 bis 11 dieses Verfahrens, bis Sie alle SQL-Anweisungen aller Auswahlabfragen kopiert und in das 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.
  3. Klicken Sie auf der Registerkarte Entwurf in der Gruppe Ergebnisse auf Ausführen.

Die Ergebnisse der Union-Abfrage werden in der Datenblattansicht (Datenblattansicht: Eine Ansicht, in der Daten aus einer Tabelle, einem Formular, einer Abfrage, einer Sicht oder einer gespeicherten Prozedur in einem Zeilen/Spalten-Format angezeigt werden. 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 einfachen Union-Abfrage in der SQL-Ansicht.

  1. Klicken Sie auf der Registerkarte Erstellen in der Gruppe Andere auf Abfrageentwurf.

In der Entwurfsansicht wird eine neue Abfrage geöffnet.

  1. Schließen Sie das Dialogfeld Tabelle anzeigen.
  2. Klicken Sie auf der Registerkarte Entwurf in der Gruppe Abfrage auf Union.

Das Abfrageentwurfsfenster wird ausgeblendet, die Objektregisterkarte SQL-Ansicht angezeigt. Zu diesem Zeitpunkt ist die Objektregisterkarte SQL-Ansicht leer.

  1. Geben Sie auf der Objektregisterkarte SQL-Ansicht den SQL-Befehl SELECT gefolgt von einer Liste der Felder der ersten Tabelle oder der Tabellengruppe ein, die 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.
  2. 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.
  3. 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 mithilfe der Schlüsselwörter AND oder OR weitere Kriterien angeben. Wenn Sie alle gewünschten Kriterien angegeben haben, drücken Sie die EINGABETASTE.
  4. 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.
  5. Geben Sie SELECT gefolgt von einer Liste der Felder aus der nächsten Tabelle oder Tabellengruppe ein, die 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.
  6. Geben Sie FROM gefolgt vom Namen der nächsten Tabelle oder Tabellengruppe ein, die Sie in die Abfrage einschließen möchten, und drücken Sie dann die EINGABETASTE.
  7. 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 mithilfe des Schlüsselworts AND weitere Kriterien angeben. Wenn Sie alle gewünschten Kriterien angegeben haben, drücken Sie die EINGABETASTE.
  8. Wenn Sie der Union-Abfrage weitere Auswahlanweisungen hinzufügen möchten, wiederholen Sie die Schritte 7 bis 10.
  9. Geben Sie ein Semikolon (;) ein, um das Ende der Abfrage anzugeben.
  10. Klicken Sie auf der Registerkarte Entwurf in der Gruppe Ergebnisse auf Ausführen.

Die Ergebnisse der Union-Abfrage werden in der Datenblattansicht (Datenblattansicht: Eine Ansicht, in der Daten aus einer Tabelle, einem Formular, einer Abfrage, einer Sicht oder einer gespeicherten Prozedur in einem Zeilen/Spalten-Format angezeigt werden. In der Datenblattansicht können Sie Felder bearbeiten, Daten hinzufügen oder löschen und nach Daten suchen.) angezeigt.

Seitenanfang Seitenanfang

Tipps für die Arbeit mit Union-Abfragen

  • Wenn Sie unterscheiden können möchten, 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 "Artikel" und mit einer weiteren Auswahlabfrage Felder aus einer Tabelle mit Namen "Dienstleistungen" abgerufen werden, können Sie die Zeichenfolge "Artikel" als Feld an das Ende der ersten Anweisung und die Zeichenfolge "Dienstleistung" als Feld an das Ende der zweiten Anweisung anfügen. Sie können den Zeichenfolgen auch einen Feldalias (z. B. "Typ") zuweisen, indem Sie (wie im folgenden Beispiel gezeigt) das Schlüsselwort AS verwenden:
SELECT Feld1, Feld2, ... "Artikel" AS Typ
SELECT Feld1, Feld2, ... "Dienstleistung" AS Typ

Die Abfrageausgabe enthält nun ein Feld mit Namen "Typ", das angibt, ob die Zeile aus der Tabelle "Artikel" oder "Dienstleistung" 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 Ergebnis die doppelten Zeilen aus den SELECT-Anweisungspaaren, die mithilfe von UNION ALL kombiniert wurden, jedoch keine doppelten Zeilen aus SELECT-Anweisungen, die mit UNION ohne ALL kombiniert wurden.
  • Obwohl Anzahl, Datentyp und 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), durch die eine neue Tabelle und anschließend Datensätze (Zeilen) erstellt werden, indem Datensätze aus einer vorhandenen Tabelle kopiert werden.) verwenden:
      1. Erstellen und speichern Sie die Union-Abfrage.
      2. Klicken Sie auf der Registerkarte Erstellen in der Gruppe Andere auf Abfrageentwurf.
  1. Klicken Sie im Dialogfeld Tabelle anzeigen auf die Registerkarte Abfragen.
  2. 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.

  1. 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.

  1. Klicken Sie auf der Registerkarte Entwurf in der Gruppe Abfragetyp auf Tabelle erstellen.
  1. 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.
  2. Klicken Sie auf der Registerkarte Entwurf in der Gruppe Ergebnisse auf Ausführen.

So verwenden Sie eine Union-Abfrage zur Durchführung einer vollen äußeren Verknüpfung

  1. 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.
  2. Klicken Sie auf der Registerkarte Start in der Gruppe Ansichten auf Ansicht und dann auf SQL-Ansicht.
  3. Drücken Sie zum Kopieren des SQL-Codes STRG+C.
  4. Löschen Sie das Semikolon am Ende der FROM-Klausel, und drücken Sie dann die EINGABETASTE.
  5. 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.

  1. Drücken Sie STRG+V, um den in Schritt 3 kopierten SQL-Code einzufügen.
  2. Ändern Sie in dem eingefügten Code LEFT JOIN in RIGHT JOIN.
  3. Löschen Sie das Semikolon am Ende der zweiten FROM-Klausel, und drücken Sie dann die EINGABETASTE.
  4. 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 Artikel RIGHT JOIN [Bestelldetails] 
 ON Artikel.ID = [Bestelldetails].[Artikel-Nr.]

fügen Sie die folgende WHERE-Klausel hinzu:

WHERE Artikel.ID IS NULL
  1. Geben Sie am Ende der WHERE-Klausel ein Semikolon (;) ein, um das Ende der Union-Abfrage anzugeben.
  2. Klicken Sie auf der Registerkarte Entwurf in der Gruppe Ergebnisse auf Ausführen.

Seitenanfang Seitenanfang

 
 
Zutreffend für:
Access 2010