Problème d'UPDATE [SqlServer] - SQL/NoSQL - Programmation
Marsh Posté le 18-02-2008 à 16:23:19
quelle est la PK de ta table ? iddoss ?
Code :
|
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.
Marsh Posté le 18-02-2008 à 16:24:55
/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 ?
Marsh Posté le 18-02-2008 à 16:40:39
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.
Marsh Posté le 14-02-2008 à 10:50:45
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.