Announcement

Collapse
No announcement yet.

Probleme beim Inner join

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

  • Probleme beim Inner join

    Hallo,

    Beispieltabellen:
    Kunde, Spalten = ID_Kunde und Name.
    Log, Spalten = ID_Log, ID_Kunde, Typ

    Ich will Alle Kunden die einen gewissen Logeintrag nicht haben, mein Statement:

    SELECT *
    FROM Kunde AS Kunde
    INNER JOIN
    Log ON Kunde.ID_Kunde <> Log.ID_Kunde
    WHERE (Log.Typ = "Neu")

    Das Problem ist nun wenn mehrere Kunden einen Log mit dem Typen @Typ haben, dann bekomme ich für jeden zusätzlichen Log das Ergebnis wiederholt.

    Beispiel=
    Kunde:
    1 ; Kunde1
    2 ; Kunde2
    3 ; Kunde3

    Log:
    1 ; 1 ; "Neu"
    2 ; 2 ; "Neu"

    Das Ergebnis würd dann sein:
    3 ; Kunde3
    3 ; Kunde3

    Also hier doppelt

    Hat jemand Rat?

  • #2
    Hallo,

    Vielleicht hilft dir das weiter:

    SELECT * FROM Log WHERE Log.Typ = 'Neu' AND Log.ID_Kunde NOT IN (SELECT ID_Kunde FROM Kunde)
    *-- robert.oh. --*

    Comment


    • #3
      Hab mein Statement soweit umgeschrieben, aber irgendwie funktioniert es nicht:
      Dies ist nun etwas konkreter, aber vom Pronzip her das gleiche.

      SELECT * FROM Kunde
      WHERE (Kunde.ID_Status = '1') AND
      NOT IN (SELECT * Log WHERE(Log.ID_Typ = '1') AND (Log.ID_Stand = '1') AND (Log.Storniert = 'False'))

      Fehler:
      Meldung 156, Ebene 15, Status 1, Zeile 3
      Falsche Syntax in der Nähe des 'IN'-Schlüsselwortes.

      Comment


      • #4
        Hab das Problem gelöst

        Comment


        • #5
          Bei SELECT ... WHERE IN ... darf die Subquery nur die eine entsprechende Spalte zurueckgeben.
          *-- robert.oh. --*

          Comment

          Working...
          X