Bonjour,
je voudrais en une seule requête mettre à jour des quantités article dans la table article à partir des quantités relevées dans la table inventaire_article.
Sur Wikipedia, j'ai trouvé ça ;
Dans moncontexte, ça donne ça :Mise à jour d'une table à partir des informations d'une autre table : UPDATE TABLE1 SET ( champ3, champ4 ) = ( SELECT val32, val13 FROM TABLE2 WHERE TABLE1.CHAMP1 = TABLE2.CHAMP2 ) WHERE ( CHAMP1 ) IN ( SELECT CHAMP2 FROM TABLE2)
Ça ne marche pas, à cause des parenthèses dans "SET (stock_physique)" et si je les enlève, ma sous-requête renvoyant plusieurs tuples, ça me retourne "multiple rows in singleton select"
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 UPDATE article SET (stock_physique) = ( SELECT quantite_article FROM inventaire_article where article.code_article = inventaire_article.code_article) WHERE ( article.code_article) IN ( SELECT code_article FROM inventaire_article where inventaire_article.code_inventaire = 262)
Je pensais que le problème était simple.
Il me reste la solution de traiter ça de manière algorithmique dans Delphi, avec un Update paramétré par enregistrement de la table inventaire. Mais j'aurais bien aimé faire ça en une seule requête.
Merci de m'avoir lu.
Partager