SQL et les Update multi lignes - SQL/NoSQL - Programmation
Marsh Posté le 14-05-2014 à 22:55:16
C'est pas étrange,
ton select qui te permet de faire ton calcul, remonte plusieurs lignes (pour un même enregistrement)
donc erreur...
update tiers as a
set a.solde = (select SUM(Total) - SUM(Regle) from factures as b where
b.code = a.code
Group by b.code (peut être pas obligatoire...)
)
ta clause where ne doit même pas passer... car le code de facture ne doit même pas être connue (dans ce "segment" de ta requête)
guillaume
Marsh Posté le 15-05-2014 à 14:23:31
Moi, y'a un truc qui me choc : il fait un group by sur un champ qui n'apparaît pas dans le SELECT Du coup, c'est pour ça qu'il se retrouve avec plusieurs enregistrements.
Marsh Posté le 15-05-2014 à 21:04:21
oui et non
le group by "marche" bien... et le champ groupé n'est pas pas obligatoire dans les champs du select... juste que c'est "mieux" pour savoir à quoi correspond ton calcul lol
Mais ici, le soucis, c'est que le source ne faisait pas de d'égalité pour faire le sum sur un seul code...
Guillaume
Marsh Posté le 14-05-2014 à 17:41:29
Bonsoir à tous !
J'essaie désespérément de transférer des champs d'une table à une autre via une requête UPDATE, mais Access m'insulte en me faisant comprendre que j'essaie de bouger plusieurs lignes ( L'opération doit utiliser une requête qui peut être mise à jour. ), ou alors je n'ai rien compris.
Pour la faire courte , j'ai une table Tiers et une table Facture. Dans la table Tiers, j'ai un champ Code et un champ Solde.
J'aimerais alimenter ce champ Solde pour mes clients à partir d'un calcul fais a partir de deux autres champs de la table Facture, qui calcule en gros la différence entre le montant total et le montant réglé.
Table Tiers : | Code | Solde |
Table Facture : | Code | Total | Regle |
J'ai cru comprendre que c'était compliqué, je vous avouerais que je n'ai pas trouvé mon bonheur en cherchant à travers la toile.
Merci de l'attention que vous saurez y apporter