Office: SQL-Unterabfragen

Helfe beim Thema SQL-Unterabfragen in Microsoft Access Tutorials um das Problem gemeinsam zu lösen; SQL-Unterabfragen Access für Microsoft 365 Access 2019 Access 2016 Access 2013 Access 2010 Access 2007... Dieses Thema im Forum "Microsoft Access Tutorials" wurde erstellt von Tutorials, 1. Januar 2020.

  1. Tutorials
    Tutorials Neuer User

    SQL-Unterabfragen


    SQL-Unterabfragen
    Access für Microsoft 365 Access 2019 Access 2016 Access 2013 Access 2010 Access 2007 Mehr... Weniger Hinweis: Wir möchten Ihnen die aktuellsten Hilfeinhalte so schnell wie möglich in Ihrer eigenen Sprache bereitstellen. Diese Seite wurde automatisiert übersetzt und kann Grammatikfehler oder Ungenauigkeiten enthalten. Unser Ziel ist es, Ihnen hilfreiche Inhalte bereitzustellen. Teilen Sie uns bitte über den Link am unteren Rand dieser Seite mit, ob die Informationen für Sie hilfreich sind. Hier finden Sie den englischen Artikel als Referenz.

    Eine Unterabfrage ist eine SELECT-Anweisung in eine SELECT-Anweisung, SELECT geschachtelt... IN EINFÜGEN... INTO, löschen oder UPDATE-Anweisung oder in einer anderen Unterabfrage.

    Syntax
    Sie können drei Formen der Syntax zum Erstellen einer Unterabfrage verwenden:

    Vergleich [ALLE | ALLE | Einige] (SQL-Anweisung)

    Ausdruck [NOT] IN (SQL-Anweisung)

    [NOT] EXISTS (SQL-Anweisung)

    Eine Unterabfrage besteht aus folgenden Teilen:

    Teil

    Beschreibung

    Vergleich

    Eine Ausdruck und einen Vergleichsoperator aus, der den Ausdruck mit den Ergebnissen der Unterabfrage vergleicht.

    Ausdruck

    Ein Ausdruck, der für das Resultset der Unterabfrage gesucht wird.

    SQL-Anweisung

    Eine SELECT-Anweisung, das gleiche Format und die Regeln wie jede andere SELECT-Anweisung folgen. Es muss in Klammern eingeschlossen werden.


    Hinweise
    Sie können eine Unterabfrage anstelle eines Ausdrucks in der Feldliste einer SELECT-Anweisung oder in einer WHERE oder HAVING-Klausel verwenden. In einer Unterabfrage verwenden Sie eine SELECT-Anweisung um zu bieten eine Reihe von einem oder mehreren bestimmten Werten für in die WHERE oder HAVING-Klausel ausgewertet werden soll.

    Verwenden Sie die Prädikate ANY oder SOME, um Datensätze in der Abfrage Hauptfenster abzurufen, die den Vergleich mit in der Unterabfrage abgerufenen Datensätze erfüllen. Im folgende Beispiel gibt alle Produkte, deren Einzelpreis eines beliebigen Produkts mit einem Rabatt von mindestens 25 % verkauft größer ist:

    SELECT * FROM Products WHERE UnitPrice > ANY (SELECT UnitPrice FROM OrderDetails WHERE Discount >= .25);

    Verwenden Sie alle Prädikat, um nur die Datensätze in der Abfrage Hauptfenster abzurufen, die den Vergleich mit allen in der Unterabfrage abgerufenen Datensätze erfüllen. Wenn Sie sich für alle im vorherigen Beispiel geändert, würde die Abfrage nur die Artikel zurück, deren Einzelpreis aller Produkte, die mit einem Rabatt von mindestens 25 % verkauft größer ist. Dies ist viel eingeschränkter.

    Verwenden Sie das Prädikat, um nur die Datensätze in der Abfrage Hauptfenster abzurufen, für die einige Datensatz in der Unterabfrage einen identischen Wert enthält. Im folgende Beispiel werden alle Artikel mit einem Rabatt von mindestens 25 % zurückgegeben:

    SELECT * FROM Products WHERE ProductID IN (SELECT ProductID FROM OrderDetails WHERE Discount >= .25);

    NOT IN können Sie dagegen nur die Datensätze in der Abfrage Hauptfenster abzurufen, für die kein Datensatz in der Unterabfrage einen identischen Wert enthält.

    Verwenden Sie das EXISTS-Prädikat (mit dem optional NOT reservierte Wort) in wahr/falsch-vergleichen, um festzustellen, ob die Unterabfrage Datensätze zurückgibt.

    Sie können auch Aliase für Tabellennamen in einer Unterabfrage verwenden, verweisen auf Tabellen in einer FROM-Klausel außerhalb der Unterabfrage aufgeführt. Im folgende Beispiel gibt die Namen der Mitarbeiter, dessen Gehälter gleich oder größer als die durchschnittliche Gehälter aller Mitarbeiter mit der gleichen Position sind. Die Tabelle Personal erhält den Alias "T1":

    SELECT LastName, FirstName, Title, Salary FROM Employees AS T1 WHERE Salary >= (SELECT Avg(Salary) FROM Employees WHERE T1.Title = Employees.Title) Order by Title;

    Im vorherigen Beispiel ist die AS Reserviertes Wort optional.

    Einige Unterabfragen sind in Kreuztabellenabfragen zulässig, insbesondere als Prädikate (in der WHERE-Klausel). Unterabfragen als Ausgaben (in der SELECT-Liste) sind in Kreuztabellenabfragen nicht zulässig.

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

SQL-Unterabfragen

Die Seite wird geladen...
  1. SQL-Unterabfragen - Similar Threads - SQL Unterabfragen

  2. Benötige Hilfe bei SQL-Befehl

    in Microsoft Access Hilfe
    Benötige Hilfe bei SQL-Befehl: Hallo zusammen und alles Gute für 2025 Es ist mal wieder Sale-Zeit und jetzt müssen bei vielen Artikel zu eine festgesetzten Zeit die VK-Preise geändert werden. Man kann das in unserem...
  3. SQL: Filtern mit mehreren Werten aus einer Excelspalte (Liste)

    in Microsoft Excel Hilfe
    SQL: Filtern mit mehreren Werten aus einer Excelspalte (Liste): Hallo zusammen, ich bräuchte Eure Hilfe, bei dem ich nicht weitere komme. Ich lasse importiere SQL-Daten über mehrere Abfragen im Editor vor filtern. Eine Spalte über einen Artikel...
  4. SQL-Abfrage mit where

    in Microsoft Access Hilfe
    SQL-Abfrage mit where: SQL-Abfrage mit where-Parameter. PNrHaupt ist eine Zahl. Ich vermute, da liegt der Fehler, aber ich weiss nicht, wie ich das darstellen soll. Bei jeder neuer PNrHaupt soll eine neue Datei erstellt...
  5. Apostroph in sql Recordset

    in Microsoft Access Hilfe
    Apostroph in sql Recordset: Hallo Gemeinde, einen hätte ich noch: sqlTitel = "SELECT * FROM tbl_Files_Edited WHERE Titel='" & strTitel & "'" Set rs1 = db.OpenRecordset(sqlTitel) Enthält strTitel einen...
  6. Access - SQL: Inhalt auf 255 Zeichen beschränkt

    in Microsoft Access Hilfe
    Access - SQL: Inhalt auf 255 Zeichen beschränkt: Hallo zusammen, in Access habe ich ein Modul mit folgender Funktion: Public Function SQLListe(Nummer As Long) As String Dim strSQL As String Dim rs As DAO.Recordset strSQL = "SELECT Dokument...
  7. Abfrage mit den jüngsten Einträgen erstellen

    in Microsoft Access Hilfe
    Abfrage mit den jüngsten Einträgen erstellen: Hallo liebe Experten, ich bastel gerade an einer Access-Datenbank für die Besuche meiner Klienten. Aus meiner Tabelle "KlientenT" und einer weiteren Tabelle mit "BesucheT" möchte ich eine Abfrage...
  8. SQL-Unterabfrage

    in Microsoft Access Hilfe
    SQL-Unterabfrage: Hallo Forum, in diesem Beitrag wird über einen neuen Bug in MS Access berichtet und gleichzeitig ein sehr hilfreicher workaround empfohlen. Ich muss kurzfristig eine existierende Anwendung...
  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