Announcement

Collapse
No announcement yet.

Gibt es in InterBase auch INTERSECT

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

  • Gibt es in InterBase auch INTERSECT

    Ich möchte Werte aus 2 Tabellen vergleichen. In der einen Tabelle stehen richtige und falsche PLZ und in der 2 Tabelle stehen nur die richtigen PLZ.
    Mit INTERSECT kann man die richtigen rausfiltern, diesen Befehl gibt es aber nicht. Wie kann man das Problem sonst lösen? Ich habe es schon mit select plz from falsch where plz in(select plz from richtig) probiert, dass ist aber ganz schön langsam.

    Danke für die Vorschläge,

    Maik

  • #2
    Müßte mit mehr Performance klappen als Dein Ansatz:

    SELECT * FROM Falsch LEFT JOIN Richtig
    ON Falsch.PLZ = Richtig.PLZ
    WHERE Richtig.Plz is NUL

    Comment


    • #3
      Danke für die schnelle Antwort.
      Was macht die Abfrage hinter dem where oder im welchen Zusammen steht sie mit den PLZ aus Richtig und Falsch

      Comment


      • #4
        Der LEFT-Join sorgt dafür, daß alle Datensätze aus der Tabelle Falsch angezeigt werden, und für die Datensätze in dennen auch Einträge in der Tabelle Richtig vorhanden sind, werden diese auch Angezeigt.<br>
        Falls kein Datensatz in der Tabelle Richtig für einen Datensatz in der Tabelle Falsch vorhanden ist, werden die entsprechenden Felder, die eigentlich aus der Tabelle Richtig gefüllt werden sollen mit <NULL> gefüllt. Und damit nur diese Angezeigt werden, wird die Abfrage über die WHERE-Bedingung eingeschränkt

        Comment


        • #5
          Danke für die schnelle und gut Hilfe. Bei 10000 Datensätzen hat meine Abfrage 8 min gebraucht, deine nur 3 sec. Echt Super.

          Mai

          Comment

          Working...
          X