Tabellenabgleich

LarsB

Mitglied
Hallo liebe Community,

habe seit langem mal wieder ein kleines Problem:
Ich moechte gerne 2 Tabellen vergleiche. Tabelle A enthaelt Namen, Tabelle B enthaelt Namen. Einige dieser Namen sind gleich. Nun moechte ich gerne alle Namen haben, die in Tabelle B vorhanden sind, in A aber nicht.

Beispiel:

Tabelle A enthaelt die Namen "Anna", "Marc","Klaus","Julia"
Tabelle B enthaelt die Namen "Joerg", "Anna","Hans","Martin"

So moechte ich als Ergebnis "Joerg", "Hans", "Martin" ausgeworfen haben.

Mit diesem kleinen Schnipsel hab ich zwar einen Auswurf, jedoch nicht den gewuenschten.

PHP:
<?php
$abfrage = "SELECT n.Column, g.Column FROM Tabelle1 n JOIN Tabelle2 g WHERE n.Column != g.Column";
$result = mysql_query($abfrage) or die ('MySQL-Error: '. mysql_error());

while($row = mysql_fetch_array($result)){
   echo $row['Column']."<br />";
}
?>

Vielen Dank fuer Eure Hilfe :)

ps. bin zur Zeit in Amerika, daher keine Umlaute ;)
 
Zuletzt bearbeitet von einem Moderator:
...hab mittlerweile die Loesung gefunden :rolleyes:

Jetzt habe ich nur ein kleines Problem. Die Namen in den Beiden Tabellen sind nicht immer zu 100% gleich.

Als Beispiel:
In der einen Tabelle wuerde z.B. "Max Musterm." stehen, in der anderen "Max Mustermann".
Wie bekomme ich jetzt dennoch die Daten raus? Geht das in dem Fall ueber ein "LIKE"?

Aktueller Schnipsel (womit ich zwar das ausgeworfen bekommen, was ich wollte, aber eben leider nicht zu 100% richtig, da Namen leicht variabel am Ende):

Code:
$abfrage = "SELECT Tabelle1.Column1, Tabelle1.Column2, Tabelle2.Column1, Tabelle2.Column2 FROM Tabelle1 RIGHT JOIN Tabelle2 ON Tabelle1.Column1=Tabelle2.Column1";
$result = mysql_query($abfrage) or die ('MySQL-Error: '. mysql_error());


Beste Gruesse
 
Wäre das nicht "Murks"? Wie schaut denn die Tabelle aus? Gibt es ausser den Namen noch andere Spalten wie User-ID oder so? Für mich wäre "Max Musterm." nicht das selbe wie "Max Mustermann". Gibt es keine anderen Vergleichspunkte?
 
Zurück