Bonjour,
Très bien, content pour toi ! Bonne continuation.
Version imprimable
Bonjour,
Très bien, content pour toi ! Bonne continuation.
J'ai encore un souci sur ma requête décidément :?
C'est lorsque je fais entrée-sortie que ça bug :
en sachant que si je ne met pas commande_client ou entree_produit avant le .Code_produit le compilateur me dit que la colonne Code_produit est ambiguous.Code:
1
2
3
4
5
6
7 LEFT OUTER JOIN (SELECT commande_client.Code_produit, SUM(Quantite_ajoutee) - SUM(Quantite_commandee) AS totalstock FROM entree_produit, commande_client GROUP BY Code_produit ) sum_totalstock ON stock.Code_produit = sum_totalstock.Code_produit
si je met stock.code_produit à la place le résultat est le même pour tous les produits et un chiffre du genre 192 845 (total du stock).
voilà ce que j'ai avec le résultat de cette requête :
Pièce jointe 209156
Mon résultat est vraiment bizarre !
Bonjour,
Je ne pourrais que te conseiller de lire un peu de doc sur le SQL.
Lorsque tu as un message de type la colonne xxx est ambiguous, cela signifie en effet que tu spécifies un nom de colonne présent dans plusieurs tables de ta requête et que tu ne précises pas depuis quelle table la donnée doit être remontée. Tu dois donc préciser le nom de la table (ou l'alias que tu auras défini pour la table dans la requête)
Concernant ta requête :
Tu fais une sélection sur 2 tables (entree_produit et commande_client). Or tu ne fais pas de jointure entre ces 2 tables, tu dois donc a priori obtenir ce qu'on appelle un produit cartésien.
De plus tu ne peux pas faire une somme sur 2 tables de cette façon (remarque je ne sais pas pour ton SGBD mais dans ma version d'oracle ce n'est pas permis)
Ce que tu cherches à faire doit plutôt s'écrire comme ça (écriture à l'ancienne que tu peux adapter avec Join ... On ...):
Code:
1
2
3
4
5
6 select a.code_pdt, a.sum_qte, b.sum_qte, a.sum_qte - b.sum_qte from (select code_pdt, sum(qte) sum_qte from entrees group by code_pdt) a, (select code_pdt, sum(qte) sum_qte from commandes group by code_pdt) b where a.code_pdt = b.code_pdt
Merci beaucoup ebastien avec ta technique j'y suis arrivé :D
Du coup je l'ai adapté avec une jointure et ça fonctionne parfaitement.
Maintenant je vais m'attaquer aux alertes stock :alerte:
je vais faire des recherches la dessus.
Merci encore !