Announcement

Collapse
No announcement yet.

Abfrage mit where not

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

  • Abfrage mit where not

    Hallo,

    habe eine Frage zu einer SQL-Abfrage die ich vom Studium bekommen hab.

    Es geht dabei um 2 Tabellen. Ich soll herausfinden welcher Artikel nie auf einer Rechnung stand. Hier meine Abfrage:

    select belegp.Artikelnummer, art.Bezeichnung
    from belegp
    inner join art on art.Artikelnummer = belegp.Artikelnummer
    where not belegp.Belegtyp = 'R'

    Der Belegtyp "R" bedeutet das es eine Rechung ist.

    Was jetzt mein problem ist wie kriege ich das hin das Artikel angezeigt werden die in der Tabelle Belegp nie drinnen waren.
    Wäre für Hilfe sehr dankbar!

  • #2
    Versuch es mal mit not in()

    Comment


    • #3
      wo muss ich das "not in()" setzen?

      Comment


      • #4
        [highlight="sql"]
        select
        belegp.Artikelnummer, art.Bezeichnung
        from
        belegp
        inner join art on art.Artikelnummer = belegp.Artikelnummer
        where
        art.Artikelnummer not in ( select distinct belegp.Artikelnummer);
        [/highlight]

        Comment


        • #5
          Für alle Belegarten:

          select art.bezeichnung from art
          where not exists
          (select * from belegp where
          art.Artikelnummer = belegp.Artikelnummer)

          wenn Du nur die Rechnungen ausschließen willst dann so:

          select art.bezeichnung from art
          where not exists
          (select * from belegp where
          art.Artikelnummer = belegp.Artikelnummer and belegp.belegtyp='R')


          Gruß
          docendo discimus

          Comment

          Working...
          X