Forum |  HardWare.fr | News | Articles | PC | Prix | S'identifier | S'inscrire | Aide | Shop Recherche
390 connectés 

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  SQL et les Update multi lignes

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

SQL et les Update multi lignes

n°2228055
DrDemai
Posté le 14-05-2014 à 17:41:29  profilanswer
 

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 |
 

Code :
  1. UPDATE Tiers
  2. Set Tiers.Solde = (Select (SUM(Total) - SUM(Regle)) as Somme
  3. From Facture
  4. Group by Code
  5. Order By Code )
  6. Where Tiers.Code = Facture.Code


 
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  :)

mood
Publicité
Posté le 14-05-2014 à 17:41:29  profilanswer
 

n°2228067
gpl73
Posté le 14-05-2014 à 22:55:16  profilanswer
 

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


Message édité par gpl73 le 14-05-2014 à 22:57:00

---------------
mieux vaut être un con au chaud, qu'un con gelé lol
n°2228123
rufo
Pas me confondre avec Lycos!
Posté le 15-05-2014 à 14:23:31  profilanswer
 

Moi, y'a un truc qui me choc : il fait un group by sur un champ qui n'apparaît pas dans le SELECT :heink: Du coup, c'est pour ça qu'il se retrouve avec plusieurs enregistrements.


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Cantine Calandreta : http://sourceforge.net/projects/canteen-calandreta
n°2228171
gpl73
Posté le 15-05-2014 à 21:04:21  profilanswer
 

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
 


---------------
mieux vaut être un con au chaud, qu'un con gelé lol

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  SQL et les Update multi lignes

 

Sujets relatifs
Moyen le plus rapide de copier une grosse table SQL en mémoire ?Base SQL et VB Excel
Interraction Bdd Sql et utilisateurProblème PHP/SQL
[PL SQL] Aide sur requeteProbleme UPDATE dans PHP
PHP + SQL + Jpgraph = j'y arrive passupprimer des lignes contenant une valeur donnée
Regroupage tableau par mois et par année en SQLRequête SQL basée sur paramètre et table un peu étrange
Plus de sujets relatifs à : SQL et les Update multi lignes


Copyright © 1997-2018 Hardware.fr SARL (Signaler un contenu illicite) / Groupe LDLC / Shop HFR