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

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  [SqlServer] Problème d'UPDATE

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[SqlServer] Problème d'UPDATE

n°1686175
gwen2709
Posté le 14-02-2008 à 10:50:45  profilanswer
 

Bonjour à tous,
voilà ce que j'obtiens avec la requête suivante :  
 
select rank=count(*),a.iddoss,a.idpai,a.idliquid,a.datpai
from RECEPTIONPAIEMENTS a,RECEPTIONPAIEMENTS b
where convert(varchar,a.iddoss)+convert(varchar,a.idpai)>=convert(varchar,b.iddoss)+convert(varchar,b.idpai)
and a.iddoss=b.iddoss
and a.iddoss IN ('2004010253','2005006314')
group by a.iddoss, a.idpai, a.idliquid, a.datpai
order by a.iddoss,rank
 
 
résultat :  
 
rank iddoss  idpai ideng  datpai
1 2004010253 129424 2004-129424 10/09/2004
2 2004010253 130233 2004-130233 22/09/2004
3 2004010253 132503 2004-132503 20/10/2004
4 2004010253 133569 2004-133569 04/11/2004
1 2005006314 163648 2005-163648 05/01/2006
2 2005006314 164144 2005-164144 05/01/2006
 
 
Je souhaite désormais mettre à jour le champ idpai avec le rank.
 
Help Me please, je n'y arrive pas.
 
Merci.

mood
Publicité
Posté le 14-02-2008 à 10:50:45  profilanswer
 

n°1687942
MagicBuzz
Posté le 18-02-2008 à 16:23:19  profilanswer
 

quelle est la PK de ta table ? iddoss ?
 

Code :
  1. UPDATE RECEPTIONPAIEMENTS r
  2. SET r.idpai =
  3. (
  4. SELECT count(*)
  5. FROM RECEPTIONPAIEMENTS a,RECEPTIONPAIEMENTS b
  6. WHERE convert(varchar,a.iddoss)+convert(varchar,a.idpai)>=convert(varchar,b.iddoss)+convert(varchar,b.idpai)
  7. AND a.iddoss=b.iddoss
  8. AND a.iddoss = r.iddoss
  9. )
  10. WHERE r.iddoss IN ('2004010253','2005006314')


 
Un truc du genre.
Par contre, j'ai un doute : je sais plus si tu peux mettre à jour une table que tu lis dans une sous-requête avec SQL Server (y'a des SGBD qui le supportent pas -MySQL par exemple-)
Si c'est le cas, le plus simple est de passer par une table temporaire.


Message édité par MagicBuzz le 18-02-2008 à 16:24:03
n°1687945
MagicBuzz
Posté le 18-02-2008 à 16:24:55  profilanswer
 

/me vient de relire le résultat de ta première requête, et se rend compte qu'il a répondu à côté de la plaque. bref, quelle est ta pk ?

n°1687959
gwen2709
Posté le 18-02-2008 à 16:40:39  profilanswer
 

Exact, le résultat de l'update ramène plusieurs valeurs donc il ne passe pas.
 
Je suis donc passé par une vue temporaire qui me construit mon résultat à partir d'un select bien formé.
 
Merci en tout cas.


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

  [SqlServer] Problème d'UPDATE

 

Sujets relatifs
Probleme lien hypertexte, en boucleprobleme d'iframe!!!
[HTML] Probleme site webscriptaculous: probleme avec Event.observe
probleme de requete pour recuperer un max[C# .NET] Probleme client server multithread
Problème d'alignement d'image avec CSSproblème avec une variable de session
[JSF] probleme avec selectonemenu[ Résolu ] problème de lien sur partition
Plus de sujets relatifs à : [SqlServer] Problème d'UPDATE


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR