Erreur de jointure sql
sabdoul
-
sabdoul -
sabdoul -
Bonjour, J'ai une sql qui me donne des résutats erronés comme s'il additionnait ou multipliait le résultat plusieurs fois car les valeurs retournées sont trop élevées. or en regardant ma syntaxe je la trouve logique.
SELECT e.CODE_PRODUIT "Code Produit",e.DESIGNATION "Designation",
to_char(NVL(round(sum(t.QTE_VEN)),0),'999G999G999G999', 'nls_numeric_characters='', ''') "Qte Vendue",
to_char(NVL(round(sum(t.VALEUR_VENTE)),0) ,'999G999G999G999', 'nls_numeric_characters='', ''') "C.A.H.T",
to_char(NVL( round(sum(t.MARGE_HT)),0) ,'999G999G999G999', 'nls_numeric_characters='', ''') "Marge HT",
to_char(NVL(round(sum(s.QUANTITE) ),0),'999G999G999G999', 'nls_numeric_characters='', ''') "Qte Stock",
to_char(NVL(round(sum(s.VALEUR_PRIX_REV) ),0),'999G999G999G999', 'nls_numeric_characters='', ''') "Valeur du stock"
FROM PRODUIT e
LEFT OUTER JOIN VENTE_JOUR t
ON(e.CODE_PRODUIT=t.CODE_PRODUIT AND t.DATE_GENERATION BETWEEN '". $_POST['date'] . "' AND '" . $_POST['date1'] . "')
LEFT OUTER JOIN STOCK s
ON(e.CODE_PRODUIT=s.CODE_PRODUIT AND s.DATE_GENERATION ='". $_POST['date1'] . "' )
GROUP BY e.CODE_PRODUIT,e.DESIGNATION ORDER BY NVL(round(sum(t.VALEUR_VENTE)),0) DESC;
cette requête doit me retourner les valeur vente,stock restant etc.. des différents produits. mais elle me donne un résultat trop élevé . quelqu'un aurait-il pas un idée où une autre solution. merci d'avance
SELECT e.CODE_PRODUIT "Code Produit",e.DESIGNATION "Designation",
to_char(NVL(round(sum(t.QTE_VEN)),0),'999G999G999G999', 'nls_numeric_characters='', ''') "Qte Vendue",
to_char(NVL(round(sum(t.VALEUR_VENTE)),0) ,'999G999G999G999', 'nls_numeric_characters='', ''') "C.A.H.T",
to_char(NVL( round(sum(t.MARGE_HT)),0) ,'999G999G999G999', 'nls_numeric_characters='', ''') "Marge HT",
to_char(NVL(round(sum(s.QUANTITE) ),0),'999G999G999G999', 'nls_numeric_characters='', ''') "Qte Stock",
to_char(NVL(round(sum(s.VALEUR_PRIX_REV) ),0),'999G999G999G999', 'nls_numeric_characters='', ''') "Valeur du stock"
FROM PRODUIT e
LEFT OUTER JOIN VENTE_JOUR t
ON(e.CODE_PRODUIT=t.CODE_PRODUIT AND t.DATE_GENERATION BETWEEN '". $_POST['date'] . "' AND '" . $_POST['date1'] . "')
LEFT OUTER JOIN STOCK s
ON(e.CODE_PRODUIT=s.CODE_PRODUIT AND s.DATE_GENERATION ='". $_POST['date1'] . "' )
GROUP BY e.CODE_PRODUIT,e.DESIGNATION ORDER BY NVL(round(sum(t.VALEUR_VENTE)),0) DESC;
cette requête doit me retourner les valeur vente,stock restant etc.. des différents produits. mais elle me donne un résultat trop élevé . quelqu'un aurait-il pas un idée où une autre solution. merci d'avance
A voir également:
- Erreur de jointure sql
- Erreur 3000 france tv - Forum Lecteurs et supports vidéo
- Erreur t32 ✓ - Forum Livebox
- Erreur upes 1025 - Forum Téléviseurs
- Erreur 0x80070643 - Accueil - Windows
- Erreur 0x80070643 Windows 10 : comment résoudre le problème de la mise à jour KB5001716 - Accueil - Windows