Bonjour,
Mon problème consiste à mettre à jour un champ d'une table avec le ROWNUM sélectionné de la même table triée en ordre croissant.
Je m'explique, pour une table donnée "NomTable" avec un champ "C1" et "C2"
et qui contient les données suivantes :
-----------
C1 | C2|
-----------
b | |
c | |
a | |
d | |
----------
Je veux mettre à jour le Champ2 par le ROWNUM après avoir trié la table par le Champ1, donc en résultat je dois avoir ceci :
----------
C1 | C2|
----------
b | 2 |
c | 3 |
a | 1 |
d | 4 |
---------
j'ai essayé cette requête mais ça marche pas:
Si quelqu'un pouvait m'aider je serais reconnaissant.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 UPDATE NomTable a SET a.champ2 = (SELECT ROWNUM FROM ( SELECT * FROM NomTable ORDER BY Champ1) c, NomTable b WHERE c.champ1 = b.champ1);
Cordialement
Partager