Office: Verschachtelung einer Abfrage innerhalb einer anderen Abfrage oder in einem Ausdruck mit Hilfe ...

Helfe beim Thema Verschachtelung einer Abfrage innerhalb einer anderen Abfrage oder in einem Ausdruck mit Hilfe ... in Microsoft Access Tutorials um das Problem gemeinsam zu lösen; Verschachtelung einer Abfrage innerhalb einer anderen Abfrage oder in einem Ausdruck mit Hilfe einer Unterabfrage Access für Microsoft 365... Dieses Thema im Forum "Microsoft Access Tutorials" wurde erstellt von Tutorials, 1. Januar 2020.

  1. Tutorials
    Tutorials Neuer User

    Verschachtelung einer Abfrage innerhalb einer anderen Abfrage oder in einem Ausdruck mit Hilfe ...


    Verschachtelung einer Abfrage innerhalb einer anderen Abfrage oder in einem Ausdruck mit Hilfe einer Unterabfrage
    Access für Microsoft 365 Access 2019 Access 2016 Access 2013 Access 2010 Access 2007 Mehr... Weniger Es kann vorkommen, dass Sie die Ergebnisse einer Abfrage als Feld in einer anderen Abfrage oder als Kriterium für ein Abfragefeld verwenden möchten. Nehmen wir beispielsweise einmal an, Sie möchten die Zeiträume zwischen den Bestellungen eines jeden Produkts anzeigen. Zum Erstellen einer Abfrage, die diese Zeiträume anzeigt, müssen Sie die einzelnen Bestelldaten mit anderen Bestelldaten des jeweiligen Produkts vergleichen. Für den Vergleich dieser Bestelldaten ist ebenfalls eine Abfrage erforderlich. Sie können diese Abfrage in die Hauptabfrage verschachteln, indem Sie eine <token>TE000126768</token> verwenden.

    Unterabfragen können in einem <token>TE000127167</token> oder in einer SQL-Anweisung (Structured Query Language) in der <token>TE000126761</token> geschrieben werden.

    Inhalt dieses Artikels
    <link xlink:href="a8532322-e42f-4f94-bc38-ace7c182916a#bm1">Verwenden der Ergebnisse einer Abfrage als Feld in einer anderen Abfrage</link>

    <link xlink:href="a8532322-e42f-4f94-bc38-ace7c182916a#bm2">Verwenden einer Unterabfrage als Kriterium für ein Abfragefeld</link>

    <link xlink:href="a8532322-e42f-4f94-bc38-ace7c182916a#bm3">Allgemeine SQL-Schlüsselwörter, die in Verbindung mit Unterabfragen verwendet werden können</link>

    Verwenden der Ergebnisse einer Abfrage als Feld in einer anderen Abfrage
    Sie können eine Unterabfrage als Feldalias verwenden. Verwenden Sie eine Unterabfrage als Feldalias, wenn die Ergebnisse der Unterabfrage als Feld in der Hauptabfrage verwendet werden sollen.

    Hinweis: Eine Unterabfrage, die Sie als Feldalias verwenden, kann nicht mehr als ein Feld zurückgeben.

    Sie können eine Unterabfrage als Feldalias verwenden, um Werte anzuzeigen, die von anderen Werten in der aktuellen Zeile abhängig sind, was ohne eine Unterabfrage nicht möglich ist.

    Lassen Sie uns zu dem Beispiel zurückkehren, in dem die Zeiträume zwischen den Bestelldaten eines jeden Produkts angezeigt werden sollen. Zur Ermittlung dieser Zeiträume müssen Sie das jeweilige Auftragsdatum mit anderen Bestelldaten des Produkts vergleichen. Sie können eine Abfrage erstellen, die diese Informationen zurückgibt, indem Sie die Nordwind-Datenbank verwenden.

    1. Wählen Sie auf der Registerkarte <ui>Datei</ui> die Option <ui>Neu</ui> aus.
    2. Klicken Sie unter <ui>Verfügbare Vorlagen</ui> auf <ui>Beispielvorlagen</ui>.
    3. Klicken Sie auf <ui>Nordwind</ui> und anschließend auf <ui>Erstellen</ui>.
    4. Befolgen Sie die Anweisungen auf der Seite <ui>Northwind Traders</ui> (auf der Objektregisterkarte <ui>Startbildschirm</ui>), um die Datenbank zu öffnen. Schließen Sie dann das Fenster <ui>Anmelde-Dialog</ui>.
    5. Klicken Sie auf der Registerkarte <ui>Erstellen</ui> in der Gruppe <ui>Abfragen</ui> auf <ui>Abfrageentwurf</ui>.
    6. Klicken Sie im Dialogfeld <ui>Tabelle anzeigen</ui> auf die Registerkarte <ui>Abfragen</ui>, und doppelklicken Sie dann auf <ui>Artikelbestellungen</ui>.
    7. Schließen Sie das Dialogfeld <ui>Tabelle anzeigen</ui>.
    8. Doppelklicken Sie auf das Feld <ui>Bestell-Nr</ui> und das Feld <ui>Bestelldatum</ui>, um diese dem Abfrageentwurfsbereich hinzuzufügen.
    9. Wählen Sie in der Zeile <ui>Sortieren</ui> der Spalte <ui>Bestell-Nr</ui> des Rasters <ui>Aufsteigend</ui> aus.
    10. Wählen Sie in der Zeile <ui>Sortieren</ui> der Spalte <ui>Bestelldatum</ui> des Rasters <ui>Absteigend</ui> aus.
    11. Klicken Sie in der dritten Spalte des Entwurfsbereichs mit der rechten Maustaste auf die Zeile <ui>Feld</ui> und anschließend im Kontextmenü auf <ui>Zoom</ui>.
    12. Geben Sie im Feld <ui>Zoom</ui> den folgenden Ausdruck ein:

      Dieser Ausdruck ist die Unterabfrage. Mit der Unterabfrage wird für jede Zeile das letzte Bestelldatum ausgewählt, das älter als das bereits der Zeile zugeordnete Bestelldatum ist. Beachten Sie, wie das Schlüsselwort AS für die Erstellung eines Tabellenalias verwendet wird, damit Sie die Werte in der Unterabfrage mit den Werten in der aktuellen Zeile der Hauptabfrage vergleichen können.
    13. Geben Sie in der vierten Spalte des Rasters in der Zeile <ui>Feld</ui> den folgenden Ausdruck ein:

      <codeInline>Interval: [Order Date]-[Prior Date]</codeInline>

      Mit diesem Ausdruck wird der Zeitraum zwischen dem jeweiligen Bestelldatum und dem vorherigen Bestelldatum des Produkts berechnet, und zwar unter Verwendung des Werts für das vorherige Datum, der mithilfe der Unterabfrage festgelegt wurde.<br />
    14. Klicken Sie auf der Registerkarte <ui>Entwurf</ui>, in der Gruppe <ui>Ergebnisse</ui>, auf <ui>Ausführen</ui>.
      1. Die Abfrage wird durchgeführt und zeigt eine Liste von Produktnamen, Bestellungsdaten, früheren Bestellungsdaten und das Zeitintervall zwischen Bestellungsdaten.Die Ergebnisse werden zuerst nach Produkt-ID (in aufsteigender Reihenfolge) und dann nach Bestellungsdatum (in absteigender Reihenfolge) sortiert.
      2. Hinweis: Da „Produkt-ID“ ein Nachschlagefeld ist, zeigt Access standardmäßig anstelle der tatsächlichen Produkt-IDs die Nachschlagewerte (in diesem Fall den Produktnamen) an.Obwohl dadurch die angezeigten Werte geändert werden, wird die Sortierreihenfolge nicht geändert.
      Schließen Sie die Nordwind-Datenbank.
    <link xlink:href="a8532322-e42f-4f94-bc38-ace7c182916a#__top">Seitenanfang</link>

    Verwenden einer Unterabfrage als Kriterium für ein Abfragefeld
    Sie können eine Unterabfrage als Feldkriterium verwenden.Verwenden Sie eine Unterabfrage als Feldkriterium, wenn Sie das Ergebnis der Abfrage zum Beschränken der Werte verwenden möchten, die im Feld angezeigt werden.

    Nehmen wir beispielsweise einmal an, Sie möchten eine Liste der Aufträge anzeigen, die von Mitarbeitern bearbeitet wurden, die <legacyItalic>keine</legacyItalic> Vertriebsmitarbeiter sind. Zum Generieren dieser Liste müssen Sie die Mitarbeiter-ID eines jeden Auftrags mit der Liste der Kennungen der Mitarbeiter vergleichen, die keine Vertriebsmitarbeiter sind. Zum Erstellen dieser Liste und zur Verwendung der Liste als Feldkriterium verwenden Sie wie im nachstehenden Verfahren gezeigt eine Unterabfrage:

    1. Öffnen Sie die Datenbank „Northwind.accdb“, und aktivieren Sie deren Inhalt.
    2. Schließen Sie das Anmeldeformular.
    3. Klicken Sie auf der Registerkarte <ui>Erstellen</ui> in der Gruppe <ui>Abfragen</ui> auf <ui>Abfrageentwurf</ui>.
    4. Doppelklicken Sie im Dialogfeld <ui>Tabelle anzeigen</ui> auf der Registerkarte <ui>Tabellen</ui> auf <ui>Bestellungen</ui> und <ui>Personal</ui>.
    5. Schließen Sie das Dialogfeld <ui>Tabelle anzeigen</ui>.
    6. Doppelklicken Sie in der Tabelle <ui>Bestellungen</ui> auf das Feld <ui>Personal-Nr</ui>, das Feld <ui>Bestell-Nr</ui> und das Feld <ui>Bestelldatum</ui>, um diese dem Abfrageentwurfsbereich hinzuzufügen. Doppelklicken Sie in der Tabelle <ui>Personal</ui> auf das Feld <ui>Position</ui>, um dieses Feld dem Abfrageentwurfsbereich hinzuzufügen.
    7. Klicken Sie mit der rechten Maustaste auf die Zeile <ui>Kriterien</ui> der Spalte <ui>Personal-Nr</ui>, und klicken Sie dann im Kontextmenü auf <ui>Zoom</ui>.
    8. Geben Sie im Feld <ui>Zoom</ui> den folgenden Ausdruck ein:

      Dies ist die Unterabfrage.Hiermit werden alle Mitarbeiterkennungen ausgewählt, bei denen der Mitarbeiter nicht die Berufsbezeichnung Vertriebsmitarbeiter hat, und dieses Ergebnis wird der Hauptabfrage zur Verfügung gestellt.Die Hauptanfrage überprüft dann, ob alle Mitarbeiterkennungen aus der Tabelle „Orders“ im Resultset vorhanden sind.
    9. Klicken Sie auf der Registerkarte <ui>Entwurf</ui> in der Gruppe <ui>Ergebnisse</ui> auf <ui>Ausführen</ui>.

      Die Abfrage wird ausgeführt, und als Abfrageergebnis wird eine Liste der Aufträge angezeigt, die von Mitarbeiter verarbeitet wurden, die keine Vertriebsmitarbeiter sind.
    <link xlink:href="a8532322-e42f-4f94-bc38-ace7c182916a#__top">Seitenanfang</link>

    Allgemeine SQL-Schlüsselwörter, die in Verbindung mit Unterabfragen verwendet werden können
    Es gibt verschiedene SQL-Schlüsselwörter, die in Verbindung mit Unterabfragen verwendet werden können:

    Hinweis: Diese Liste erhebt keinen Anspruch auf Vollständigkeit. In einer Unterabfrage kann jedes gültige SQL-Schlüsselwort mit Ausnahme von Schlüsselwörtern für die Datendefinition verwendet werden.

    • <embeddedLabel>ALL</embeddedLabel> Sie verwenden ALL in einer WHERE-Klausel, um Zeilen abzurufen, die der Bedingung entsprechen, wenn sie mit jeder von der Unterabfrage zurückgegebenen Zeile verglichen werden.

      Nehmen Sie beispielsweise an, dass Sie Studentendaten an einer Hochschule analysieren.Die Studenten müssen eine minimale Durchschnittsnote einhalten, die von Hauptfach zu Hauptfach variiert.Hauptfächer und deren minimale Durchschnittsnote werden in einer Tabelle namens „Majors“ gespeichert, und die entsprechenden Studenteninformationen werden in einer Tabelle namens „Student_Records“ gespeichert.

      Zum Anzeigen einer Liste der Hauptfächer (und der zugehörigen minimalen Durchschnittsnoten), bei denen der jeweilige Studierende mit diesem Hauptfach über der minimalen Durchschnittsnote liegt, kann die folgende Abfrage verwendet werden:

      <embeddedLabel>ANY</embeddedLabel> Sie verwenden ANY in einer WHERE-Klausel, um Zeilen abzurufen, die der Bedingung entsprechen, wenn sie mit mindestens einer von der Unterabfrage zurückgegebenen Zeile verglichen werden.

      Nehmen Sie beispielsweise an, dass Sie Studentendaten an einer Hochschule analysieren.Die Studenten müssen eine minimale Durchschnittsnote einhalten, die von Hauptfach zu Hauptfach variiert.Hauptfächer und deren minimale Durchschnittsnote werden in einer Tabelle namens „Majors“ gespeichert, und die entsprechenden Studenteninformationen werden in einer Tabelle namens „Student_Records“ gespeichert.

      Zum Anzeigen einer Liste der Hauptfächer (und der zugehörigen minimalen Durchschnittsnoten), bei denen irgendeiner der Studierenden mit diesem Hauptfach unter der minimalen Durchschnittsnote liegt, kann die folgende Abfrage verwendet werden:

      Hinweis: Für den gleichen Zweck kann auch das Schlüsselwort SOME verwendet werden; das Schlüsselwort SOME wird synonym zum Schlüsselwort ANY verwendet.
    • <embeddedLabel>EXISTS</embeddedLabel> Sie verwenden EXISTS in einer WHERE-Klausel, um anzugeben, dass eine Unterabfrage mindestens eine Zeile zurückgeben soll. Sie können EXISTS auch NOT voranstellen, um anzugeben, dass die Unterabfrage keine Zeilen zurückgeben soll.

      Mit der folgenden Abfrage wird beispielsweise eine Liste der Produkte zurückgegeben, die sich in mindestens einem vorhandenen Auftrag befinden:

      Bei Verwendung von NOT EXISTS wird eine Liste der Produkte zurückgegeben, die sich nicht in mindestens einem vorhandenen Auftrag befinden:

      <embeddedLabel>IN</embeddedLabel> Sie verwenden IN in einer WHERE-Klausel, um zu prüfen, ob ein Wert in der aktuellen Zeile der Hauptabfrage Teil des von der Unterabfrage zurückgegebenen Ergebnissets ist. Sie können IN auch NOT voranstellen, um zu prüfen, ob ein Wert in der aktuellen Zeile der Hauptabfrage nicht Teil des Ergebnissets der Unterabfrage ist.

      So gibt die folgende Abfrage beispielsweise eine Liste der Bestellungen (mit Bestelldaten) zurück, die von Mitarbeitern verarbeitet wurden, die keine Vertriebsmitarbeiter sind:

      Bei Verwendung von NOT IN hätte die gleiche Abfrage auch wie folgt geschrieben werden können:

    <link xlink:href="a8532322-e42f-4f94-bc38-ace7c182916a#__top">Seitenanfang</link>

    :)
     
    Tutorials, 1. Januar 2020
    #1
Thema:

Verschachtelung einer Abfrage innerhalb einer anderen Abfrage oder in einem Ausdruck mit Hilfe ...

Die Seite wird geladen...
  1. Verschachtelung einer Abfrage innerhalb einer anderen Abfrage oder in einem Ausdruck mit Hilfe ... - Similar Threads - Verschachtelung Abfrage Abfrage

  2. 64 Verschachtelungen

    in Microsoft Excel Hilfe
    64 Verschachtelungen: Werte Forenmitglieder, vielleicht kann mir jemand helfen. Ich möchte in eine Zelle eine Zahl eingeben und in einer anderen Zelle soll dann ein dazugehöriger Text erscheinen. Ich habe das mit der...
  3. zuviele Verschachtelungen

    in Microsoft Excel Hilfe
    zuviele Verschachtelungen: Hallo, ich benötige bitte eure Hilfe. Ich erstelle einen Dienstplan der mir die Arbeit etwas erleichtern soll. Es gibt unterschiedliche Positionen und die Mitarbeiter sollen nach der Position...
  4. Verschachtelung von Profile in Excel

    in Microsoft Excel Hilfe
    Verschachtelung von Profile in Excel: Hallo Zusammen, ich muss ein Stahlprofil kaufen und schneiden lassen, damit ich die richtige Menge bestellen kann und wenig wie möglich Verschnitt habe, möchte erstmal vorher alle Profilstücke...
  5. Wenn-Funktion ersetzen oder vereinfachen

    in Microsoft Excel Hilfe
    Wenn-Funktion ersetzen oder vereinfachen: Hallo liebe Community, ich habe ein Problem mit der Wenn-Funktion von Excel! Und zwar moechte ich gerne Datumswerte wie z.B. 708 was fuer 8.Juli steht, mit einer Funktion aendern lassen in...
  6. Sverweis bei zwei Bedingungen

    in Microsoft Excel Hilfe
    Sverweis bei zwei Bedingungen: Hallo Für eine Abteilung soll auswertet werden, wie viele Arbeitstage pro Mitarbeiter z.B durch Krankheit, Mutterschaftsurlaub oder Ferien "verlorengehen". Diese Arbeitszeit soll mit der...
  7. WENN "Teilbereich in Zelle = A", DANN B; WENN "Teilbereich in Zelle = D, DANN F; etc.

    in Microsoft Excel Hilfe
    WENN "Teilbereich in Zelle = A", DANN B; WENN "Teilbereich in Zelle = D, DANN F; etc.: Hallo Zusammen, ich hoffe, ihr könnt mir bei meinem Vorhaben weiterhelfen und ich habe meine Überschrift halbwegs sinnvoll gewählt. Ich habe eine grosse Excel-Tabelle. In Spalte C habe ich...
  8. Benötige Hilfe mit WENN/SVERWEIS Verschachtelung

    in Microsoft Excel Hilfe
    Benötige Hilfe mit WENN/SVERWEIS Verschachtelung: Hallo zusammen, ich habe folgendes Problem: Ich habe ein Excel Dokument, welches 3 Tabellenblätter enthält mit Artikeln und dazugehörigen Daten. Nun möchte ich Änderungen anhand der...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden