abonnement Unibet Coolblue Bitvavo
  dinsdag 21 oktober 2003 @ 20:11:27 #1
46383 Tiemie
sowieso wel!
pi_14038326
Hoi, ik ben bezig met schrijven van een forum.
php:
<?
mysql_query
("SELECT * FROM t_topics LEFT JOIN t_forums ON (t_topics.forumid = t_forums.id)
WHERE t_forums.level = '1'"
);
?>

met die query controleer ik of het topic bij een subfora behoord die het level 1 heeft (in mijn geval is dat een "default" subfora die iedereen mag lezen) .
ik weet alleen niet hoe je meerdere joins in 1 query kunt gebruiken en dat stond ook niet op mysql.com
maargoed wat ik dus wil is er nog een stapje bij zetten .

ik wil 'controleren' of t_posts.topicid gelijk is aan t_topics.topicid

dus

php:
<?
mysql_query
("SELECT * from t_posts LEFT JOIN t_topics ON (t_posts.topicid = t_topics.topicid)"); 
?>

maar daar moet dus de als eerste genoemde query nog bij .

kan iemand me helpen?

[edit] in de 2e join stonden t_posts.topicid en t_topics.topicid verkeerd om

  dinsdag 21 oktober 2003 @ 20:13:30 #2
66280 Lintie
As mad as a cow
pi_14038373
zoiets van

SELECT * from t_posts tp_topics
WHERE t_topics.topicid = t_posts.topicid
AND t_topics.xx = t_posts.xx

Es 't neet geit dan bokt 't maar
  dinsdag 21 oktober 2003 @ 20:30:41 #3
46383 Tiemie
sowieso wel!
pi_14038713
Nee werkt ook niet
code:
SELECT * 
FROM t_posts
WHERE t_posts.topicid = t_topics.topicid AND t_topics.forumid = t_forums.id AND t_forums.level = '1'
LIMIT 0 , 30 

MySQL > Unknown table 't_topics' in where clause
  dinsdag 21 oktober 2003 @ 21:11:23 #4
56025 artyfarty
...en waarom dan wel?
pi_14039568
Meerdere joins is geen enkel probleem, alleen moet je het erg overzichtelijk houden.
code:
SELECT * 
from t_forums
LEFT JOIN t_topics 
   ON (t_forums.forumid = t_topics.id) 
LEFT JOIN t_posts
   ON (t_topics.topicid = t_posts.topicid)
WHERE t_forums.level = '1'

...zoiets zou moeten werken.

(misschien heb ik wat tabelnamen omgekeerd, ik ken je table-layout natuurlijk niet)

"If everything seems under control, you're just not going fast enough." (Mario Andretti)
  dinsdag 21 oktober 2003 @ 21:24:37 #5
46383 Tiemie
sowieso wel!
pi_14039904
quote:
Op dinsdag 21 oktober 2003 21:11 schreef artyfarty het volgende:
Meerdere joins is geen enkel probleem, alleen moet je het erg overzichtelijk houden.
code:
SELECT * 
from t_forums
LEFT JOIN t_topics 
   ON (t_forums.forumid = t_topics.id) 
LEFT JOIN t_posts
   ON (t_topics.topicid = t_posts.topicid)
WHERE t_forums.level = '1'

...zoiets zou moeten werken.

(misschien heb ik wat tabelnamen omgekeerd, ik ken je table-layout natuurlijk niet)


thanks!

SELECT *
FROM t_posts
LEFT JOIN t_topics ON ( t_posts.topicid = t_topics.topicid )
LEFT JOIN t_forums ON ( t_topics.forumid = t_forums.id )
WHERE t_forums.level = '1'

werkt idd

[Dit bericht is gewijzigd door Tiemie op 21-10-2003 22:20]

abonnement Unibet Coolblue Bitvavo
Forum Opties
Forumhop:
Hop naar:
(afkorting, bv 'KLB')