Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD
PHP & SGBD Forum d'entraide sur les SGBD avec PHP. Avant de poster : FAQ BDD, toutes les FAQ PHP, cours BDD et sources BDD
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 18/01/2008, 19h15   #1
oim
Membre à l'essai
 
Inscription : décembre 2003
Messages : 118
Détails du profil
Informations forums :
Inscription : décembre 2003
Messages : 118
Points : 20
Points : 20
Par défaut [SQL] Count sur jointure

Bonsoir j'ai un petit problème avec cette requéte : le problème sont les 2 counts si "bc." est vide alors "bb." fonctionne par contre si "bc" n'est pas vide lles 2 counts s'additionnent, vous auriez une idée ?

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
 
	$result = sql_query("SELECT
		ba.id_cat, ba.titre, 
		COUNT(bb.id) as bug, 
		COUNT(bc.id) as com 
		FROM ".$NPDS_Prefix."bug_cate ba 
		LEFT JOIN bug bb ON ba.id_cat=bb.id_cat 
		LEFT JOIN bug_com bc ON ba.id_cat=bc.id_cat 
		WHERE ba.cat_ligne='1' 
		GROUP BY ba.id_cat 
		ORDER BY ba.titre ASC");
 
	while ($liste_news = mysql_fetch_array($result))
	{
 
		$liste_news['titre']=stripslashes($liste_news['titre']);
 
		echo '<tr class="bug_deux">'
		.'<td>&nbsp;&nbsp;&nbsp;&nbsp;<img src="modules/'.$ModPath.'/images/fle.gif" />&nbsp;&nbsp;<a href="'.$ThisFile.'&subop=fiche&id_cat='.$liste_news['id_cat'].'">'.aff_langue(''.$liste_news['titre'].'').'</a></td>'
		.'<td align="center">'.$liste_news['bug'].'</td>'
		.'<td align="center">'.$liste_news['com'].'</td>'
		.'</tr>';
 
	}
Merci !
oim est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/01/2008, 16h18   #2
Membre actif
 
Avatar de fenkys
 
Inscription : octobre 2007
Messages : 157
Détails du profil
Informations personnelles :
Âge : 45

Informations forums :
Inscription : octobre 2007
Messages : 157
Points : 181
Points : 181
Tu ne peux pas avoir 2 counts dans la meme requete select.

Si tu reflechis un peu au fonctionnement du count, tu comprendras pourquoi :
count compte des lignes retournées par la requête, après un eventuel regroupement, il travaille après retour des résultats. Les deux counts travaillent donc sur les mêmes lignes.
fenkys est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 07h10.


 
 
 
 
Partenaires

Hébergement Web