Programmation  » resultat d'un calcul en SQL
Catégorie :  
Lien direct vers ce message Editer  Citer  Ajouter ce message en quote multiple  Supprimer
resultat d'un calcul en SQL
Publié le 08/06/2009 @ 17:35:24,
Par wiwi46
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.
Lien direct vers ce message Editer  Citer  Ajouter ce message en quote multiple  Supprimer
resultat d'un calcul en SQL
Publié le 08/06/2009 @ 18:14:02,
Par max
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
Trololo
Lien direct vers ce message Editer  Citer  Ajouter ce message en quote multiple  Supprimer
resultat d'un calcul en SQL
Publié le 08/06/2009 @ 18:25:07,
Par gizmo
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
Concept vivant.
Lien direct vers ce message Editer  Citer  Ajouter ce message en quote multiple  Supprimer
resultat d'un calcul en SQL
Publié le 08/06/2009 @ 18:33:46,
Par max
Ca dépend de quel SQL on parle, mais sinon oui tu peux.
Trololo
Lien direct vers ce message Editer  Citer  Ajouter ce message en quote multiple  Supprimer
resultat d'un calcul en SQL
Publié le 08/06/2009 @ 19:02:58,
Par wiwi46
Merci de votre aide je vais tester sa tout de suite mais je n'ai plus besoin de ma
Lien direct vers ce message Editer  Citer  Ajouter ce message en quote multiple  Supprimer
resultat d'un calcul en SQL
Publié le 08/06/2009 @ 19:03:13,
Par wiwi46
Merci de votre aide je vais tester sa tout de suite mais je n'ai plus besoin de ma syntaxe alors?
Lien direct vers ce message Editer  Citer  Ajouter ce message en quote multiple  Supprimer
resultat d'un calcul en SQL
Publié le 08/06/2009 @ 19:07:11,
Par wiwi46
OK merci de votre aide sa marche niquel
Lien direct vers ce message Editer  Citer  Ajouter ce message en quote multiple  Supprimer
resultat d'un calcul en SQL
Publié le 08/06/2009 @ 20:23:08,
Par lefvl
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).
Lien direct vers ce message Editer  Citer  Ajouter ce message en quote multiple  Supprimer
resultat d'un calcul en SQL
Publié le 08/06/2009 @ 22:18:35,
Par wiwi46
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
Lien direct vers ce message Editer  Citer  Ajouter ce message en quote multiple  Supprimer
resultat d'un calcul en SQL
Publié le 08/06/2009 @ 22:24:54,
Par kortenberg
tu ne devrais pas mettre le SELECT dans son integralité au lieu de SUM(table2.champ) FROM table2 ?

quel sgbd tu utilises?

Dernière édition: 08/06/2009 @ 22:26:33
Lien direct vers ce message Editer  Citer  Ajouter ce message en quote multiple  Supprimer
resultat d'un calcul en SQL
Publié le 08/06/2009 @ 22:54:04,
Par wiwi46
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.
Lien direct vers ce message Editer  Citer  Ajouter ce message en quote multiple  Supprimer
resultat d'un calcul en SQL
Publié le 09/06/2009 @ 06:32:51,
Par Coyote
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
Autant que possible, la gravité doit être le pire ennemi du Coyote.
Répondre  - Catégorie :  
Informaticien.be  - © 2002-2019 Akretio SPRL  - Generated via Kelare - Hosted by Verixi Internet Services
The Akretio Network: Akretio  - Freedelity  - KelCommerce  - Votre publicité sur informaticien.be ?