Announcement

Collapse
No announcement yet.

Ausschluss von Datensätzen

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Ausschluss von Datensätzen

    Hallo zusammen,

    ich habe 2 Tabellen. Tabelle 1 enthält z. B. die Kopfdaten für Aufträge. In Tabelle 2 sind dann entsprechend die Auftragspositionen abgelegt.

    Tabelle 1
    Auftragsnummer | Kunde
    1, Kunde A
    2, Kunde B
    3, Kunde C
    4, Kunde A

    Tabelle 2
    Auftragsnummer | Artikelnummer
    1, 001
    1, 003
    1, 005
    1, 007
    --------
    2, 002
    2, 003
    2, 004
    --------
    3, 004
    3, 005
    3, 007
    --------
    4, 006
    4, 007
    --------
    usw.....

    In Auftrag 1 und 4 ist der Artikel 004 NICHT enthalten.
    Die Abfrage soll mir nun NUR die die Aufträge liefern, die den Artikel 004 nicht enthalten.

    Ich habe die Tabellen zwar verknüpft, erhalte aber mit meiner Abfrage eine Komplettaufstellung ALLER Aufträge, eben nur mit Ausschluss des Artikel 004. Also etwa so:
    Auftragsnummer | Artikelnummer
    1, 001
    1, 003
    1, 005
    1, 007
    2, 002
    2, 003
    3, 005
    3, 007
    4, 006
    4, 007

    Auch wenn ich das Ergebnis nach Auftragsnummer gruppiere, werden mir alle 4 Aufträge als Ergebnis geliefert.

    Mit meinen Worten formuliert, soll die Abfrage lauten:
    Liefer mir alle Aufträge(Auftragsnummern), in denen der Artikel 004 NICHT enthalten ist.

    Danke für Eure Antworten!

  • #2
    [HIGHLIGHT="SQL"]
    SELECT *
    FROM Tabelle_1 AS K
    JOIN Tabelle_2 AS A ON K.Auftragsnummer = A.Auftragsnummer
    WHERE NOT EXISTS (SELECT * FROM Tabelle_2 WHERE Atrikelnummer = '004')
    [/HIGHLIGHT]

    Comment


    • #3
      Hallo ebis,

      da fehlt meines Erachtens in der Exist-Abfrage noch der Verweis auf die Auftragsnummer

      [highlight=SQL]SELECT *
      FROM Tabelle_1 AS K
      INNER JOIN Tabelle_2 AS A
      ON K.Auftragsnummer = A.Auftragsnummer
      WHERE NOT EXISTS (SELECT * FROM Tabelle_2 AS Sub
      WHERE Sub.Artikelnummer = '004'
      AND Sub.Auftragsnummer = K.Auftragsnummer) [/highlight]
      Olaf Helper

      <Blog> <Xing>
      * cogito ergo sum * errare humanum est * quote erat demonstrandum *
      Wenn ich denke, ist das ein Fehler und das beweise ich täglich

      Comment


      • #4
        Danke Euch beiden!

        Mit dem Zusatz von O. Helper hat's geklappt!

        WUNDERBAR!!!

        Comment

        Working...
        X