2 Tabellen abgleichen?

Grappa

Grünschnabel
Ich steh auf dem Schlauch, bin Mysql-Anfänger:
Ich habe 2 Tabellen mit je 2 Spalten: Produkt und Preis.
In der Tabelle A (mit anderen Preisen, aber gleichen Produkten) sind 500 Datensätze in der Tabelle B 1000 Datensätze. Die Produkte die es bei A gibt es alle auch bei B, aber eben mit anderem Preis.
Nun möchte ich alle Daten von Tabelle B ausgeben, für die es keine Entsprechung in Tabelle A gibt. Ich habe mit Join experementiert, aber ich kriegs nicht hin. Hat jemand eine Tip für einen Looser wie mich? :)

Grappa
 
Nachdem es im MySQL keine UNIONs gibt, probier mal das:

Code:
SELECT *
FROM  B
WHERE B.produkt Not in (Select A.produkt FROM  A)

mfg
Nitro

PS: Performant ises halt nicht.
 
Original geschrieben von nitronic
Nachdem es im MySQL keine UNIONs gibt, probier mal das:

Code:
SELECT *
FROM  B
WHERE B.produkt Not in (Select A.produkt FROM  A)


mfg
Nitro

PS: Performant ises halt nicht.

Danke! Performant muß es diesmal nicht sein.

Grappa
 
Hallo,

ich greif mal die alte Frage auf, da ich grad das gleiche Problem hab. Der Unterschied bei mir ist nur, dass ich 2 Tabellen mit je ca 25 Spalten und 15.000 - 20.000 Datensätzen habe, von denen maximal 500 in beiden Tabellen vorkommen sollten. Ich suche jetzt einen möglichst performanten Weg die Ursprüngliche Tabelle A abzüglich der in B enthaltenen Datensätze anzuzeigen.
Bisher wurde der Abgleich über Excel und einen sverweis gelöst - was aber verdammt lang dauert. Mein Gedanke war es jetzt das ganze in eine Access DB zu importieren und den Abgleich dort machen zu lassen.
Der hier gezeigt Weg geht zwar schon um ein Vielfaches schneller als die bisherige Lösung, aber vielleicht wisst ihr ja noch was besseres.
 
Performanter wird es, wenn nur indizierte Felder verglichen werden, am besten ist es (zumindest in mysql), wenn die verglichenen Felder den gleichen Datentyp besitzen.
 
Performanter wird es, wenn nur indizierte Felder verglichen werden, am besten ist es (zumindest in mysql), wenn die verglichenen Felder den gleichen Datentyp besitzen.

OK, klingt logisch. Konkret geht es um Adressen. Diese enthalten u.A. E-Mails. Diese kommen als Index in Frage, jedoch nicht als Primärschlüssel, da Adressen a la info@ mehreren Personen zugeordnet sein können. Was den gleichen Typ angeht, so ist dies gewährleistet. Ich importiere die Daten aus Excel via C&P. Dazu hab ich zunächst eine Tabelle in Access eingerichtet (A) und diese dann kopiert (B) (nur Struktur). Damit sollten die Felder ja gleich sein.
 
Zurück