Announcement

Collapse
No announcement yet.

Join anstatt not in ?

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

  • Join anstatt not in ?

    Hallo Leute,

    ich habe ein kleines Problem:

    Ich habe eine SQL-Abfrage mit welcher ich alle Datensätze der TabelleA ermitteln möchte die in TabelleB nicht vorhanden sind.

    Auftragsnr ist dabei der Key....

    Ich habe es momentan so gelöst:
    Code:
    select * from TabelleA where Auftragsnr not in (Select distinct Auftragsnr from TabelleB)
    Nur Leider dauert diese Abfrage eine Ewigkeit wenn nicht noch länger....

    So, nun meine eigentliche Frage: das müsste doch viel schneller gehen mit einer Verknüpfung wenn es überhapt machbar ist.
    Wenn ja, wie müsste ich den Join gestalten ?
    Nicht das ich sonst ein Problem hätte mit Verknüpfungen, aber grade das Nichtvorhandensein der Datensätze in TabelleB verglichen mit TabelleA bereitet mir Probleme........also das NCIHT VORHANDENSEIN......

    Kann mir da jemand auf die Sprünge helfen ?

  • #2
    Hi,

    wie wärs mit

    SELECT DISTINCT * from TabelleA a
    left join TabelleB b on b.Auftragsnr = a.Auftragsnr
    where b.Auftragsnr is null

    ?

    Grüße
    Julia

    Comment


    • #3
      Hallo Julia,

      danke dir.
      Ich habe es grade ausprobiert und scheint zu klappen was die Abfrage erstmal angeht....
      Das Ergebnis ist aber unerwartet...es ist das gleiche wie ihne diesen 'Abgleich'....und das wäre nahezu unmöglich....ist aber mein Problem!

      Danke dir vielmals & sicherlich bis bald!

      Comment


      • #4
        Hallo,

        statt der Verwendung eines ...where x not in (select a... kann man auch die Alternative ...where not exists (select 1 ... where a=x... verwenden. Dies ist nach meiner Erfahrung immer dann die schnellere Variante, wenn die Datenmenge im inneren Select relativ groß ist.

        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