login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Queries JOINen (Opgelost)

Offline webbiexl - 21/05/2008 22:03
Avatar van webbiexlPHP interesse Hoe kan ik deze queries joinen???
Ik heb zelf al vanalles geprobeerd maar ik krijg ze niet in 1 query, afzonderlijk werken ze wel.

Plaatscode: 8716

8 antwoorden

Gesponsorde links
Offline Martijn - 22/05/2008 00:12 (laatste wijziging 22/05/2008 11:57)
Avatar van Martijn Crew PHP
  1. SELECT COUNT( T.topic_ID ) as topicCount, COUNT( F.reactie_ID ) as reactieCount
  2. FROM forumTopics as T
  3. INNER JOIN forumFora as F ON ( T.topic_ForumID = F.forum_ID )
  4. INNER JOIN forumReacties as R ON ( T.topic_ForumID = R.reactie_TopicID )
  5. WHERE T.topic_ForumID = $var



oh, een triple join heb k nog nooit gedaan

poging 2, zo niet?
Offline Stijn - 22/05/2008 00:21
Avatar van Stijn PHP expert @DeviourSoul: je vergeet de JOIN met forumReacties.
Offline webbiexl - 22/05/2008 13:41 (laatste wijziging 22/05/2008 13:41)
Avatar van webbiexl PHP interesse nee krijg nog steeds niet het resultaat wat ik nodig heb

  1. SELECT COUNT( T.topic_ID ) AS topicCount, COUNT( R.reactie_ID ) AS reactieCount
  2. FROM forumTopics AS T
  3. INNER JOIN forumFora AS F ON ( T.topic_ForumID = F.forum_ID )
  4. INNER JOIN forumReacties AS R ON ( T.topic_ForumID = R.reactie_TopicID )
  5. WHERE T.topic_ForumID = $var


Als $var = 9 zou ik het volgende moeten krijgen

topicCount = 2
reactieCount = 1

maar ik krijg

topicCount = 0
reactieCount = 0
Offline Ontani - 22/05/2008 14:29 (laatste wijziging 22/05/2008 14:30)
Avatar van Ontani Gouden medailleGouden medailleGouden medailleGouden medaille

-1
  1. SELECT count(T.topic_ID), count(R.reactie_ID)
  2. FROM ForumFora F
  3. INNER JOIN forumTopics T T.topic_ForumID = F.forum_ID
  4. INNER JOIN forumReacties R r.reactie_TopiicID = T.topic_ID
  5. WHERE F.forum_ID = var
Offline webbiexl - 22/05/2008 15:11 (laatste wijziging 22/05/2008 15:13)
Avatar van webbiexl PHP interesse
  1. SELECT count(T.topic_ID), count(R.reactie_ID)
  2. FROM forumFora F
  3. INNER JOIN forumTopics T ON ( T.topic_ForumID = F.forum_ID )
  4. INNER JOIN forumReacties R ON ( R.reactie_TopicID = T.topic_ID )
  5. WHERE F.forum_ID = $var


Ja bijna goed
topicCount = 2
reactieCount = 1

maar ik krijg

topicCount = 1
reactieCount = 1

Kan iemand mij ook uitleggen wat ik fout doe?
Offline Stijn - 22/05/2008 15:23
Avatar van Stijn PHP expert
  1. SELECT count(T.topic_ID), count(R.reactie_ID)
  2. FROM forumFora F
  3. INNER JOIN forumTopics T
  4. INNER JOIN forumReacties R
  5. ON ( T.topic_ForumID = F.forum_ID AND R.reactie_TopicID = T.topic_ID)
  6. WHERE F.forum_ID = $var
Offline Ontani - 22/05/2008 15:37
Avatar van Ontani Gouden medailleGouden medailleGouden medailleGouden medaille

-1
  1. SELECT count(T.topic_ID), count(R.reactie_ID)
  2. FROM forumTopics T
  3. INNER JOIN forumFora F ON ( F.forum_ID = T.topic_ForumID )
  4. INNER JOIN forumReacties R ON ( R.reactie_TopicID = T.topic_ID )
  5. WHERE T.topic_ForumID = $var


Doorloop je query regel voor regel en probeer hem te begrijpen.
Offline webbiexl - 22/05/2008 15:49 (laatste wijziging 22/05/2008 16:20)
Avatar van webbiexl PHP interesse Ok wat ik dus nu zie gebeuren is dat de query in beide resultaten het resultaat van count(R.reactie_ID) geeft

[edit]
Nu zal ik jullie even uit de brand helpen je kan geen meerdere COUNT() in 1 query gooien!  
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.199s