Problème dans mes jointures

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Problème dans mes jointures

Re: Problème dans mes jointures

par sadeq » 28 mars 2011, 21:29

Bonjour,

C'est normal, car ton GROUP BY regroupe les données sommées par un champ ayant un niveau hiérarchique plus élevé que le niveau sous famille que tu vise dans tes explications.

Problème dans mes jointures

par Welden » 15 mars 2011, 13:12

Bonsoir à tous,

Voilà j'ai un problème avec des jointures sur des requêtes. Je m'explique : je suis en train de faire un module de statistique pour un site et je dois donc faire des requêtes assez complexes pour afficher des tableaux et graphiques.

J'ai des produits qui appartiennent obligatoirement à des familles, et peuvent appartenir également à des sous-familles, sous-sous-familles, etc...

En gros :
- Famille
- Sous Famille
- n Sous Famille
- Produits

Voilà je peux donc avoir un nombre infini de sous famille dans ma hiérarchisation.

Mon problème est que lorsque je fais une requête pour voir par exemple combien me rapporte une famille j'ai bien les bon résultat. Mais lorsque je le fait pour une sous famille, ma requête me donne un chiffre qui représente le total de toutes les familles et ne tient plus compte des sous famille.

Voilà une de mes requêtes :
mysql_query("SELECT sous_famille.id_parent AS id_parent, SUM(produit_facture.pu_ttc * produit_facture.qte) AS somme 
FROM (produit_facture, sous_famille) 
LEFT JOIN produit ON produit.id_stock=produit_facture.id_prod 
LEFT JOIN facture ON facture.id_fact=produit_facture.id_fact 
WHERE facture.date_fact BETWEEN '$deb' AND '$fin' AND sous_famille.ntf='$ntf' AND sous_famille.hierarchie='$hier' 
GROUP BY sous_famille.id_parent");

// $ntf ==> id des grandes familles
// $hier ==> niveau de hierarchisation (0 étant produit)
// $deb et $fin ==> encadrement de dates sélectionnées via un formulaire
Mon résultat me donne donc bien toutes les sous familles séparement mais la somme est un total qui ne tient pas compte de mes conditions.


Mon post est un peu long mais j'espère qu'il en reste néanmoins compréhensible. J'ai bien besoin d'aide, je m'arrache les cheveux depuis deux jours là-dessus. En plus je me doute que ma requête a un problème mais je ne trouve pas.

Merci d'avance pour vos lumières :D