Office: Problem mit Unterabfrage

Helfe beim Thema Problem mit Unterabfrage in Microsoft Access Hilfe um das Problem gemeinsam zu lösen; Hallo, ich probiere schon seit Stunden die folgende Abfrage zu verwenden und mir aus dem dort erhaltenen Ergebnis (ZaehlerCount) eine Abfrage auf die... Dieses Thema im Forum "Microsoft Access Hilfe" wurde erstellt von andysmith, 19. Februar 2014.

  1. andysmith Erfahrener User

    Problem mit Unterabfrage


    Hallo,

    ich probiere schon seit Stunden die folgende Abfrage zu verwenden und mir aus dem dort erhaltenen Ergebnis (ZaehlerCount) eine Abfrage auf die Datenbank auszuführen, in der ich zunächst alles angezeigt bekomme, was in der derzeitigen Abfrage einen Count größer 1 hat.
    Irgendwie will mir die Logik nicht in den Kopf :-(
    Vielen Dank für jede Hilfe!!

    Code:
    SELECT Count(*) AS ZaehlerCount, tbl_Rohdaten.Auftrag
    FROM tbl_Rohdaten
    WHERE (((tbl_Rohdaten.Steuschl)='ZP10' Or (tbl_Rohdaten.Steuschl)='ZP09' Or (tbl_Rohdaten.Steuschl)='ZP12'))
    GROUP BY tbl_Rohdaten.Auftrag;
    
     
    andysmith, 19. Februar 2014
    #1
  2. Exl121150 Erfahrener User
    Hallo,

    Deine derzeitige SELECT-Abfrage ist eine Abfrage, die zwei Felder ("ZaehlerCount" und "Auftrag") zurück liefert. Dabei wird gleichzeitig nach dem 2. Feld gruppiert und die Anzahlen der Sätze, die den Filterbedingungen ("WHERE...") entsprechen, werden je Ausprägung der Feldwerte von "Auftrag" im Feld "ZaehlerCount" in den Ergebnissätzen zurückgeliefert.
    Diese Abfrage ist an sich ja unproblematisch - nur als Unterabfrage taugt sie nicht, denn dafür darfst Du in der Unterabfrage nur ein Feld zurückliefern, denn schließlich willst Du diesen je einen Wert pro Unterabfrage-Ergebnissatz mit irgendetwas in der übergeordneten Abfrage vergleichen, zB:
    Code:
    SELECT P.Produktbezeichnung,  P.ProduktNr, P.Preis, .....
    FROM tbl_Produkte As P 
    WHERE
        1 < (SELECT Count(*) AS ZaehlerCount
             FROM tbl_Rohdaten AS Rc
             WHERE ((Rc.Steuschl) in ('ZP10','ZP09','ZP12'))  [COLOR="#FF0000"]AND (P.ProduktNr = Rc.ProduktNr)[/COLOR]                            
             GROUP BY Rc.Auftrag
            );
    
    Diese Abfrage geht davon aus, dass die 2 Tabellen "tbl_Produkte" und "tbl_Rohdaten" vorliegen, die über eine 1:n-Verknüpfung der beiden Felder P.ProduktNr = Rc.ProduktNr verknüpft sind. Es sollen aus "tbl_Produkte" nur die Sätze selektiert werden, denen mehr als 1 Satz aus "tbl_Rohdaten" zugeordnet ist, sofern diese letzteren Sätze im Feld Rc.Steuschl die Ausprägung 'ZP10','ZP09','ZP12' besitzen.

    In der Unterabfrage darf, damit die Filterbedingung "WHERE 1 < (....) " ausgewertet werden kann, pro P.ProduktNr-Satz nur je 1 Satz mit je 1 Feld angeliefert werden. Damit das erreicht wird, muss in der Unterabfrage zusätzlich zu der dort vorhandenen Filterung "((Rc.Steuschl) in ('ZP10','ZP09','ZP12'))" noch die Verknüpfung zwischen Haupt- und Detailtabelle "AND (P.ProduktNr=Rc.ProduktNr)" durchgeführt werden.
     
    Exl121150, 21. Februar 2014
    #2
  3. andysmith Erfahrener User
    Vielen Dank für die ausführliche Antwort!
    Ich habe nur noch eine Veränderung machen müssen, da ja die where Bedingung schon eine Vorauswahl aus einem Großbestand geführt hatte, aber ich konnte alles gut nachvollziehen und das Problem wie folgt erfolgreich lösen.

    Code:
    SELECT *
    FROM tbl_Rohdaten As P 
    WHERE
       (P.Steuschl  in ('ZP10','ZP09','ZP12'))
    And 
        1 < (SELECT Count(*) AS ZaehlerCount
             FROM tbl_Rohdaten AS Rc
             WHERE ((Rc.Steuschl) in ('ZP10','ZP09','ZP12'))  AND (P.[Auftrag] = Rc.[Auftrag])                            
             GROUP BY Rc.Auftrag
            );
    
     
    Zuletzt bearbeitet: 23. Februar 2014
    andysmith, 23. Februar 2014
    #3
  4. andysmith Erfahrener User

    Problem mit Unterabfrage

    Leider führt eine ähnliche Abfrage mit einer zusätzlichen Erweiterung zu einem Fehlergebnis.
    Irgendwie verstehe ich hier nicht, warum die zusätzlich Filterung dann zu Nichts führt.
    Jeder Part allein funktioniert Problemlos nur zusammen nicht :-(

    Code:
    SELECT Gesamt.*
    FROM tbl_Rohdaten AS Gesamt
    WHERE ((Not (Gesamt.Untervrg) Is Null) AND ((Gesamt.SteuSchl) Not In ('ZPTX','ZPTY','ZNDR')) AND ((Gesamt.ArbPlatz) Not In ('2SQS','ZSQS','2SQNB','ZSQNB')));
    edit:
    der letzte Filter
    Code:
    ((Gesamt.ArbPlatz) Not In ('2SQS','ZSQS','2SQNB','ZSQNB')));
    entfernt hier auch NULL Werte
     
    Zuletzt bearbeitet: 22. April 2014
    andysmith, 22. April 2014
    #4
Thema:

Problem mit Unterabfrage

Die Seite wird geladen...
  1. Problem mit Unterabfrage - Similar Threads - Problem Unterabfrage

  2. Data Transform, Problem with delimiter

    in Microsoft Excel Hilfe
    Data Transform, Problem with delimiter: Hello Community, I encounter one problem with excel. When I export table from csv I have a delimiter semicolon, but it doesn't work. I found solution. If I would go to Power Query Editor - Split...
  3. Problem Datenstruktur Mitglieds-Datenbank

    in Microsoft Access Hilfe
    Problem Datenstruktur Mitglieds-Datenbank: Hallo Leute, Ich habe eine Frage zu einer Vereins-Mitglieder-Datenbank, die ich erstelle. Die Vereinsmitglieder sind in einer Tabelle erfasst, also Nachname, Vorname, usw. Und es gibt einen...
  4. Seltsames Problem beim Sortieren

    in Microsoft Excel Hilfe
    Seltsames Problem beim Sortieren: Hallo! :) Ich wollte in Microsoft Excel folgende Auflistung so sortieren, dass die Werte neben den Jahreszahlen absteigend aufgelistet werden, die Jahre mit den höchsten Zahlen oben stehen:...
  5. Problem mit verschachtelter WENN Formel

    in Microsoft Excel Hilfe
    Problem mit verschachtelter WENN Formel: HiHo Ich habe ein Problem mit einer verschachtelten WENN Formel. Zur Erläuterung: D11 ist ein Hover, bei dem für die Abfrage "Arbeitstag" und "Zeitausgleich" relevant sind. C11 ist ein Datum. Es...
  6. Problem Formel

    in Microsoft Excel Hilfe
    Problem Formel: Hallo zusammen, ich benötige dringend Hilfe bei einer Formel. Scheinbar habe ich ein Brett vorm Kopf. Es wäre super nett wenn mir jemand helfen kann. Die Formel soll über ein Datum laufen. Ich...
  7. Excel TXT-File Import Problem

    in Microsoft Excel Hilfe
    Excel TXT-File Import Problem: Wenn ich ein txt-File in ein Excel importieren möchte, werden mir nur 4 Spalten anstatt 7 Spalten Angezeigt. Unten in dem Beispiel könnt ihr sehen das txt-File hat daten für 7 Spalten jedoch...
  8. Problem mit Entwicklertool PLUS und MINUS

    in Microsoft Excel Hilfe
    Problem mit Entwicklertool PLUS und MINUS: Hallo. Ich schicke mal ein Beispiel mit. Ich möchte, dass das linke Datum mit =HEUTE() angezeigt wird. Sobald ich den Drücker aktiviere, fängt er aber bei 1900 an. Ich habe =HEUTE() nicht...
Schlagworte:
  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