Boucle a cause du LEFT JOIN
Bonjour,
J'ai 3 tables.
Code:
1 2 3
| commande: id_commande, id_client, ref_commande....../*comprend les infos et références de la commande.*/
commande_prod: id_commande_prod, id_commande, id_produit, tx_tva, prix_ht..../*comprend les produits et prix de commandes. (id_commande est utilisé pour la jointure)*/
piece_jointe: id_pj, id_comm, nom_fichier..../*peut contenir ou non des pièces jointes*/ |
Je cherche à afficher la somme totale par commande et afficher les pièces jointes ensembles si elles existent.
Mon code actuel
Code:
1 2 3 4 5 6
| SELECT DISTINCT c.ref_commande, SUM(cd.prix_ht * (1+(cd.tx_tva/100))) as ttc, GROUP_CONCAT(DISTINCT pj.nom_fichier)AS fichier
FROM commande c
INNER JOIN commande_prod cd USING(id_commande)
LEFT JOIN piece_jointe pj ON c.id_commande=pj.id_comm
WHERE c.id_client=44
GROUP BY c.id_commande |
Ça fonctionne presque. Mon problème est que la somme est calculée autant de fois qu'il y a de pièces jointes.
Une idée svp?