2 Daten aus verschiedenen MySql tabellen vergleichen
riesaboy
- php
Hallo,
sry fals das Thema schon mal behandelt wurde.
Und zwar möchte ich 2 Spalten aus unterschiedlichen MySql Tabellen vergleichen. Beide haben den Namen userid. Wenn beide übereinstimmen möchte ich aus Tabelle 1 den dazugehörigen Usernamen auslesen. Ist es überhaupt möglich? Und wenn ja wie könnte ich das machen?
Ja das ist möglich. Dazu brauchst du zB eine Join Abfrage in deinem Mysgl. Das sieht im "Klartext" dann ungefähr so aus
SELECT $felder FROM tabelle1 RIGHT JOIN tabelle2 ON tabelle1.userid = tabelle1.userid ORDER BY ....
ich hoffe das hilft dir erst mal. Notfalls Kannst du noch die Tabellennamen tauschen und LEFT statt Right nehmen. Probier es aus und werde hoffentlich glücklich.
eactor
Kleiner Fehler da muss natürlich eine 2 stehen bei der 2ten Tabelle.
tabelle1.userid = tabelle2.userid
eac
Meine abfrage sieht jetzt wie folgt aus:
SELECT username FROM bb".$n."_users LEFT JOIN bb".$n."_rosen_inventar ON bb".$n."_users.userid = bb".$n."_rosen_inventar.userid
Er bringt mir dann aber eine Fehlermeldung.
Und zwar:
Invalid SQL: SELECT userid FROM bb1_users LEFT JOIN bb1_rosen_inventar ON bb1_users.userid = bb1_rosen_inventar.userid
Oder ist das Order by dabei pflicht?
Invalid SQL: SELECT userid FROM bb1_users LEFT JOIN bb1_rosen_inventar ON bb1_users.userid = bb1_rosen_inventar.userid
Welche Spalte 'userid' soll denn nun selektiert werden? Die aus bb1_users oder die aus bb1_rosen_inventar?
Siechfred
Invalid SQL: SELECT userid FROM bb1_users LEFT JOIN bb1_rosen_inventar ON bb1_users.userid = bb1_rosen_inventar.userid
Welche Spalte 'userid' soll denn nun selektiert werden? Die aus bb1_users oder die aus bb1_rosen_inventar?
Siechfred
Es soll die aus bb1_users selektiert werden.
Hello,
Es soll die aus bb1_users selektiert werden.
...Siechfried winkte mit dem Zaunpfahl: sag das bitte der Datenbank, so wie du es bei der ON-Klausel getan hast.
MfG
Rouven
Es soll die aus bb1_users selektiert werden.
...Siechfried winkte mit dem Zaunpfahl: sag das bitte der Datenbank, so wie du es bei der ON-Klausel getan hast.
Ah ok also muss der Anfang so aussehen:
SELECT bb1_users.username FROM...
Ok der Fehler ist weg. Ich bedanke mich bei euch ;D
Sorry hatte einen kleinen Fehler.
SELECT username FROM bb1_users LEFT JOIN bb1_rosen_inventar ON bb1_users.userid = bb1_rosen_inventar.userid
Es soll ja der username und nicht die userid ausgegeben werden.