WHERE Id est le plus petit ou le 2ème plus petit, etc...

WHERE Id est le plus petit ou le 2ème plus petit, etc... - SQL/NoSQL - Programmation

Marsh Posté le 17-05-2005 à 20:49:59    

salut à tous pour ma 1ère participation à ce forum,  
je réalise un projet en VisualC++ avec une base de données sous Access.
UDPATE ma_table SET param1, param2 WHERE Id = (SELECT MIN(Id) FROM ma_table) me permet de charger dans ma table un certain nombre de paramètres où l'Id est le plus petit, mais comment faire si maintenant je veut les charger où l'Id est le 2ème plus petit, le 3ème plus petit, et ainsi de suite ...  
ex: j'ai comme Id 1, 7, 25, 82, ....  
- 1 est le plus petit;  
- 7 est le 2ème plus petit  
- ...  
Merci d'avance rom
P.S.: on m'a parlé des curseurs, mais je connais trés peu la programmaton de base de données et je ne vois pas du tout comment faire, si qqn avait un exemple à me montrer, ça serait vraiment sympa

Reply

Marsh Posté le 17-05-2005 à 20:49:59   

Reply

Marsh Posté le 18-05-2005 à 08:37:29    

romanikou a écrit :

salut à tous pour ma 1ère participation à ce forum,  
je réalise un projet en VisualC++ avec une base de données sous Access.
UDPATE ma_table SET param1, param2 WHERE Id = (SELECT MIN(Id) FROM ma_table) me permet de charger dans ma table un certain nombre de paramètres où l'Id est le plus petit, mais comment faire si maintenant je veut les charger où l'Id est le 2ème plus petit, le 3ème plus petit, et ainsi de suite ...  
ex: j'ai comme Id 1, 7, 25, 82, ....  
- 1 est le plus petit;  
- 7 est le 2ème plus petit  
- ...  
Merci d'avance rom
P.S.: on m'a parlé des curseurs, mais je connais trés peu la programmaton de base de données et je ne vois pas du tout comment faire, si qqn avait un exemple à me montrer, ça serait vraiment sympa


Salut,
 
Pour moi le plus simple serait de faire ton update en "deux temps". D'abord tu commences par récupérer l'ID de l'enregistrement que tu veux modifier en fonction de tes critères et ensuite tu fais l'update.
 
Selon les exemples que tu donnes, à mon avis, ta solution se trouve du côté des SELECT TOP x FROM Table ORDER BY idTable DESC ou qqch du genre en fonction de l'id que tu as envie de récupérer. Ensuite tu fais un "bête" update.
 
Voilà, j'espère t'avoir donné des pistes...

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed