Mysql-Join Problem
Hi
Also ich habe ein kleines Problem mit einem MySQL-Join.
Folgender Query wird ausgeführt:
Alles funktioniert bestens, nur die Wörter werden abgefragt, welche in beiden Tabelle, words & incorrect_words, vorhanden sind.
Sollen es aber mehrere Kategorien (cids) sein:
So geht es schon nicht mehr, es gibt alle Wörter aus der Tabelle "words" aus, ohne Rücksicht auf die WHERE-Klausel bzw. den Inhalt der Tabelle "incorrect_words".
Meine Frage, wie musst ich den Query ändern, dass nur die Wörter aus der Tabelle "words" abgefragt werden, welche auch in der Tabelle "incorrect_words" sind?
Ich hoffe, dass ich es einigermassen verständlich schildern konnte
Danke schon im Vorraus!
Mfg Fab
PS: Hier noch die Tabellen:
words
wid | cid | word | translation
incorrect_words
id | uid | cid | wid
Erklärungen:
wid => WörterID
cid => KategorieID
uid => UserID
word, translation => das deutsche Wort und seine Übersetzung
Also ich habe ein kleines Problem mit einem MySQL-Join.
Folgender Query wird ausgeführt:
|
|
Quellcode |
1 2 3 4 5 6 7 8 9 10 11 12 |
SELECT t1.wid, t1.cid, t1.word, t1.translation FROM words AS t1, incorrect_words AS t2 WHERE t2.cid = 219 AND t2.uid = 1 AND t1.wid = t2.wid ORDER BY RAND(); |
Alles funktioniert bestens, nur die Wörter werden abgefragt, welche in beiden Tabelle, words & incorrect_words, vorhanden sind.
Sollen es aber mehrere Kategorien (cids) sein:
|
|
Quellcode |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
SELECT t1.wid, t1.cid, t1.word, t1.translation FROM words AS t1, incorrect_words AS t2 WHERE t2.cid = 219 OR t2.cid = 220 AND t2.uid = 1 AND t1.wid = t2.wid ORDER BY RAND(); |
So geht es schon nicht mehr, es gibt alle Wörter aus der Tabelle "words" aus, ohne Rücksicht auf die WHERE-Klausel bzw. den Inhalt der Tabelle "incorrect_words".
Meine Frage, wie musst ich den Query ändern, dass nur die Wörter aus der Tabelle "words" abgefragt werden, welche auch in der Tabelle "incorrect_words" sind?
Ich hoffe, dass ich es einigermassen verständlich schildern konnte

Danke schon im Vorraus!
Mfg Fab
PS: Hier noch die Tabellen:
words
wid | cid | word | translation
incorrect_words
id | uid | cid | wid
Erklärungen:
wid => WörterID
cid => KategorieID
uid => UserID
word, translation => das deutsche Wort und seine Übersetzung
-->Vokaline - schneller und effizienter Wörter lernen<-- (kostenlos!)
also ich habs mir jetzt mal schnell angeschaut.
ich weiß zwar nicht genau wie mysql das handhabt, aber solltest du um die OR argumente nicht eine klammer machen, da AND stärker ist als OR?
jperl
ich weiß zwar nicht genau wie mysql das handhabt, aber solltest du um die OR argumente nicht eine klammer machen, da AND stärker ist als OR?
jperl
Konfuzius [chinesischer Philosoph (551 - 479 v. Chr.)]
Das Entscheidende am Wissen ist, daß man es beherzigt und anwendet.
Das Entscheidende am Wissen ist, daß man es beherzigt und anwendet.
Jperl, du bist mein Held 
Es funktioniert einwandfrei, schon wieder etwas gelernt
Vielen Danke und eine schöne Woche!
Mfg Fab

Es funktioniert einwandfrei, schon wieder etwas gelernt

Vielen Danke und eine schöne Woche!
Mfg Fab
-->Vokaline - schneller und effizienter Wörter lernen<-- (kostenlos!)


