le 27/02/2013 à 16:55
select imbriqués
Bonjour,
J'ai un problème de cohérence de restitution de données.
J'ai deux tables "structure" et "m41000". Dans le table "structure" , j'ai deux champs "dga" et "lib_dga" et dans la table "m41000" : "CCIBLE", "DGAA", "DRR", "LIBELLE_ACTION" et "NB_TOT". Les deux tables sont liées par les champs "dga" et "DGAA". Je souhaite faire la somme de "NB_TOT" suivant le critère dans le "WHERE" et restituer le champ "lib_dga". Je récupère bien mon champ "lib_dga", mais les sommes de "NB_TOT" sont multipliées par le nombre de ligne de la table "structure".
Voilà le code :
Auriez-vous une idée ?
Merci
J'ai un problème de cohérence de restitution de données.
J'ai deux tables "structure" et "m41000". Dans le table "structure" , j'ai deux champs "dga" et "lib_dga" et dans la table "m41000" : "CCIBLE", "DGAA", "DRR", "LIBELLE_ACTION" et "NB_TOT". Les deux tables sont liées par les champs "dga" et "DGAA". Je souhaite faire la somme de "NB_TOT" suivant le critère dans le "WHERE" et restituer le champ "lib_dga". Je récupère bien mon champ "lib_dga", mais les sommes de "NB_TOT" sont multipliées par le nombre de ligne de la table "structure".
Voilà le code :
<?php $query = mysql_query("SELECT DISTINCT dga, DGAA, sum(NB_TOT) as NB_TOT FROM m41000 as m INNER JOIN structure as s ON m.DGAA = s.dga and m.CCIBLE=0 and m.DRR='41270' and m.LIBELLE_ACTION='CREDIT BAIL A ECHEANCE '
WHERE m.CCIBLE=0 and m.DRR='41270' and m.LIBELLE_ACTION='action1' GROUP BY m.DGAA") or die (mysql_error());
while($array = mysql_fetch_assoc($query))
{
print $array['lib_dga'];echo "<br>";
print $array['NB_TOT'];echo "<br>";
}?>
Auriez-vous une idée ?
Merci