Announcement

Collapse
No announcement yet.

SQL: Alle Lieferscheine OHNE Artikel "10" anzeigen

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

  • SQL: Alle Lieferscheine OHNE Artikel "10" anzeigen

    Hallo Gemeinde,

    ich habe eine sehr große Auftrags-DB mit zwei maßgeblichen Tabellen.

    Ich muss alle Lieferscheine anzeigen die noch nicht den Artikel 10 "abgeschlossen" beinhalten.

    Wie stelle ich es an das ich jeden
    - Lieferschein
    - mit dessen zugehörigem Ausführungstag
    - ohne Inhalt

    anzeigen lasse.

    Code:
    SELECT Lieferscheinliste.ScheinNr, Lieferscheinliste.Datum
    FROM   Lieferscheinliste, LieferscheinInhalt
    WHERE  LieferscheinInhalt.Artikelnummer <> 10
    AND    Lieferscheinliste.ScheinNr = LieferscheinInhalt.ScheinNr
    führt irgendwie nicht zu dem was ich brauche.

    Die ArtNr 10 markiert hier den Status des Scheins, ein nicht vorhandener Artikel 10 zeigt an das der LS noch nicht bearbeitet wurde.

    Ich wäre Euch für jede Hilfe dankbar....

    Stefan
    --
    Administrator mit Debian (Samba,Motion,HA-Cluster,Corosync,MsSQL,Asterisk,Nagios,Hylafax) Windows Server (MS SQL 2005,Project,Exchange)

  • #2
    Hallo,

    prinzipiell gibt es dafür zwei Möglichkeiten. Die erste ist mit einer NOT IN bzw. NOT EXISTS - Abfrage (Was ist der Unterschied?) Die zweite Möglichkeit ist ein OUTER JOIN mit einer zusätzlichen Prüfung ob das Join-Feld NULL ist. Die zweite Variante würde ich für deinen Fall bevorzugen.

    [highlight=sql]
    SELECT ll.ScheinNr, ll.Datum
    FROM Lieferscheinliste ll
    left join LieferscheinInhalt li on ll.ScheinNr = li.ScheinNr
    and li.Artikelnummer = 10
    WHERE li.ScheinNr is null
    [/highlight]

    Gruß Falk
    Wenn du denkst du hast alle Bugs gefunden, dann ist das ein Bug in deiner Denksoftware.

    Quellcode ohne ein Mindestmaß an Formatierung sehe ich mir nicht an! Ich leiste keinen Privatsupport per Mail oder PN!

    Comment

    Working...
    X