dedlfix: Mysql Vergleich mehrere Tabellen gleiche Spalte wert filtern

Beitrag lesen

Tach!

Zwei Tabelle (aktivraw und aktivclean) habe ich, beide identisch, eine hat mehr Einträge. Nun versuche ich das abzugleichen anhand einer Spalte.

Differenzen können mit Outer Joins gefunden werfen, gemeinhin nimmt man da einen Left Join. Was in der anderen Tabelle nicht da ist, zeigt NULL-Werte im Ergebnis. Danach kannst du dann in der Having-Klausel einschränken.

Ein anderer Ansatz ist, erstmal die IDs der zweiten Tabelle zu ermitteln und diese Query als Subquery in ein WHERE id_erste_tabelle NOT IN(...) zu schreiben. (Email in deinem Fall statt ID.)

  • SELECT * FROM aktivraw JOIN aktivclean WHERE aktivraw.email != aktivclean.email

Scheint aber der falsche Ansatz zu sein, denn ich bekomme nun unfassbar viele Zeilen und die auch noch immer mit gleichen Werten also ein einzelner Eintrag tausende mal. Wo ist mein Denkfehler?

Alle Zeilen außer einer treffen jeweils auf die Bedingung zu. Das ergibt ein schönes großes kartesisches Produkt.

dedlfix.