Sujet: resultat d'un calcul en SQL
08/06/2009 @ 17:35:24: wiwi46: resultat d'un calcul en SQL
Bonjour a tous
Je suis débutant en SQL et je ne sais pas comment faire pour stocker un résultat d'un calcul dans un champ via une requete SQL

J'ai deux table Stock et Commande

Je voudrais retirer de Stock la valeur de commande ,

donc: SELECT stock.id_produit, (stock.quantite_en_stock - commande.quantite_commande)
FROM stock, commande
WHERE stock.id_produit = commande.id_produit ;

C'est le résultat du calcul en rouge que je voudrais mettre dans le champ quantite_en_stock mais je ne connais pas la syntaxe

Je vous remercie pour votre aide.
08/06/2009 @ 18:14:02: max: resultat d'un calcul en SQL
avec UPDATE si tu veux changer la valeur d'un champs en SQL

UPDATE stock as s, commande as c SET s.quantite_en_stock = s.quantite_en_stock - c.quantite_commande where s.id_produit = c.id_produit;


A tester car je ne suis pas tout à fait certain
08/06/2009 @ 18:25:07: gizmo: resultat d'un calcul en SQL
pas de declaration multiple de tables dans la UPDATE clause.

Suivant le DBMS, ceci pourra marcher ou non:

  1. UPDATE stock AS s 
  2. SET s.quantite_en_stock = c.quantite_commande 
  3. FROM commande AS c 
  4. WHERE s.id_produit = c.id_produit
08/06/2009 @ 18:33:46: max: resultat d'un calcul en SQL
Ca dépend de quel SQL on parle, mais sinon oui tu peux.
08/06/2009 @ 19:02:58: wiwi46: resultat d'un calcul en SQL
Merci de votre aide je vais tester sa tout de suite mais je n'ai plus besoin de ma
08/06/2009 @ 19:03:13: wiwi46: resultat d'un calcul en SQL
Merci de votre aide je vais tester sa tout de suite mais je n'ai plus besoin de ma syntaxe alors?
08/06/2009 @ 19:07:11: wiwi46: resultat d'un calcul en SQL
OK merci de votre aide sa marche niquel
08/06/2009 @ 20:23:08: lefvl: resultat d'un calcul en SQL
Juste une remarque : La quantité commandée ne doit pas être retirée du stock, mais ajoutée à la quantité réservée. La quantité disponible est le résultat de stock-réservé. C'est la livraison qui est retirée de la quantité en stock (ET de la quantité réservée).
08/06/2009 @ 22:18:35: wiwi46: resultat d'un calcul en SQL
Encore un petit prob je dois faire un SUM dans mon SET mais j'ai un message d'erreur:

UPDATE table1
SET table1.champ = SUM(table2.champ)
FROM table2
08/06/2009 @ 22:24:54: kortenberg: resultat d'un calcul en SQL
tu ne devrais pas mettre le SELECT dans son integralité au lieu de SUM(table2.champ) FROM table2 ?

quel sgbd tu utilises?
08/06/2009 @ 22:54:04: wiwi46: resultat d'un calcul en SQL
j'utilise access, mon but est de prendre le resultat de plusieur champ d une table pour mettre le total de ces champs pour le mettre dans une table 2.
09/06/2009 @ 06:32:51: Coyote: resultat d'un calcul en SQL
pourquoi pas une solution s'approchant de :

UPDATE table1
SET champ=(SELECT champ1+champ2 FROM table2
WHERE ID.table1=ID.table2),
champ2 = ,...(autres champs)
WHERE....(conditions sur table1
Retour