Webmaster Forum Logo Part 1 Webmaster Forum Logo Part 2
Webmaster Forum Logo Part 3
     
 
  :: Anmeldung

Benutzername:

Registrierung...

Passwort:

Passwort vergessen?

angemeldet bleiben


  
  :: Umfrage
Welche sozialen Netzwerke benutzt du regelmäßig?

 Facebook
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 73%
 keines
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 22%
 Google+
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 19%
 Twitter
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 11%
 Xing
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 6%
 schülerVZ
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 6%
 meinVZ
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 4%
 studiVZ
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 4%
 MySpace
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 2%
 LinkedIn
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 2%

 ges. 393 Stimmen
 
  :: Buttons

Valid XHTML 1.0 Transitional

Fab

Lebende Foren Legende

Dabei seit: 30.03.2003

Beiträge: 1 635

 

1 Zum Seitenanfang

Montag, 24. Juli 2006, 09:22

Mysql-Join Problem

Hi

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
 

jperl

Super Moderator

Dabei seit: 09.04.2003

Beiträge: 3 453

 

2 Zum Seitenanfang

Montag, 24. Juli 2006, 09:42

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
Konfuzius [chinesischer Philosoph (551 - 479 v. Chr.)]
Das Entscheidende am Wissen ist, daß man es beherzigt und anwendet.
 

Fab

Lebende Foren Legende

Dabei seit: 30.03.2003

Beiträge: 1 635

 

3 Zum Seitenanfang

Montag, 24. Juli 2006, 11:04

Jperl, du bist mein Held :D

Es funktioniert einwandfrei, schon wieder etwas gelernt ;)

Vielen Danke und eine schöne Woche!

Mfg Fab