SQL requete COUNT

Résolu/Fermé
DAG - 8 sept. 2008 à 11:59
 DAG - 8 sept. 2008 à 14:55
Bonjour,
J'ai une table avec des infos sur des parents, et une autre avec des infos sur les enfants. Dans la table enfant, j'ai un champs ID_parents qui correspond à l'ID du parents.
Un parent peut donc avoir plusieurs enfant.
Je souhaiterais compéter un champs "nb_enfants" dans la table des parents.
Je cherche donc à effectuer une requête du genre "count" sur la table enfant qui me reverrait le nombre d'enfants en fonction de l'ID du parents.
J'ai essayer ce genre de chose :
$statementnbAyantDroitOne = "SELECT COUNT( DISTINCT ID_OD ) AS compteur FROM ouvrant_droit INNER JOIN ayant_droit WHERE (ouvrant_droit.ID = ayant_droit.ID_OD);";
	$reqnbAyantDroitOne = mysql_query($statementnbAyantDroitOne) or die('<br>Erreur base de donnée !<br>' . $statementnbAyantDroitOne . '<br>'.mysql_error());	
	echo $statementnbAyantDroitOne . "<br>";
	
	while($data = mysql_fetch_array($reqnbAyantDroitOne))
	{
		echo $data["compteur"] . "<br><br>";
	} 

Mais ça ne me revois qu'un nombre : le nombre de solutions qui correspondent à ma conditon.

Je souhaiterais récupérer pour chaque parent le nombre d'enfant associés ?

Avez vous une idée ?

Merci d'avance

3 réponses

Ok ça marche ! Merci beaucoup :)
0
Pour ceux que ça intéresses :
SELECT ouvrant_droit.nom_OD AS NAME, ouvrant_droit.prenom_OD AS FIRSTNAME, ouvrant_droit.date_naissance_OD AS BIRTH, count(ouvrant_droit.ID) AS COMPTEUR 
												FROM ouvrant_droit INNER JOIN ayant_droit 
												ON (ouvrant_droit.ID = ayant_droit.ID_OD) 
												GROUP BY ouvrant_droit.ID;
0
Utilisateur anonyme
8 sept. 2008 à 14:51
Essaye de rajouter une clause GROUP BY ID_PARENT
-1