DEFI SQL

Le
Etienne REMOND
Bonjour

j'ai un défi sql à vous proposer. je n'ai pas encore trouvé la solution.

situation:
j'ai une table [T] avec deux champs:
- id (numérique entier long)
- val (texte)
il n'y a pas d'index, pas de clef.

les champs [val] sont renseignés, mais pas les champ [id] (ils sont à null).
je souhaite, par une requête sql, numéroter ces champs [id] de 1 à x,
par incrément de 1 (en gros, faire du numauto, mais après coup).

quelqu'un connaît-il la requête sql répondant à ce défi ?

merci d'avance.


Etienne
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Etienne REMOND
Le #5467321
j'ai trouvé.

- initialiser tous les id à 0
- créer une table [tmp] d'un seul champ [id]
- y insérer une seule ligne avec [tmp].[id] = 0
- exécuter la requête:
UPDATE id, tmp
SET id.id = IIF ( id.id > tmp.id , id.id+1 , tmp.id + 1 )
, tmp.id = IIF ( id.id > tmp.id , id.id+1 , tmp.id + 1 )
- et voilà

je suis curieux d'entendre vos autres solutions





Etienne


Etienne REMOND wrote:

Bonjour

j'ai un défi sql à vous proposer. je n'ai pas encore trouvé la solution.

situation:
j'ai une table [T] avec deux champs:
- id (numérique entier long)
- val (texte)
il n'y a pas d'index, pas de clef.

les champs [val] sont renseignés, mais pas les champ [id] (ils sont à
null).
je souhaite, par une requête sql, numéroter ces champs [id] de 1 à x,
par incrément de 1 (en gros, faire du numauto, mais après coup).

quelqu'un connaît-il la requête sql répondant à ce défi ?

merci d'avance.


Etienne


Raymond [mvp]
Le #5467291
Bonjour.

tu te casses bien la tête.
solution:
-supprimer le champ autonum
-recréer le champ autonum

--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Etienne REMOND" %

j'ai trouvé.

- initialiser tous les id à 0
- créer une table [tmp] d'un seul champ [id]
- y insérer une seule ligne avec [tmp].[id] = 0
- exécuter la requête:
UPDATE id, tmp
SET id.id = IIF ( id.id > tmp.id , id.id+1 , tmp.id + 1 )
, tmp.id = IIF ( id.id > tmp.id , id.id+1 , tmp.id + 1 )
- et voilà

je suis curieux d'entendre vos autres solutions





Etienne


Etienne REMOND wrote:

Bonjour

j'ai un défi sql à vous proposer. je n'ai pas encore trouvé la solution.

situation:
j'ai une table [T] avec deux champs:
- id (numérique entier long)
- val (texte)
il n'y a pas d'index, pas de clef.

les champs [val] sont renseignés, mais pas les champ [id] (ils sont à
null).
je souhaite, par une requête sql, numéroter ces champs [id] de 1 à x, par
incrément de 1 (en gros, faire du numauto, mais après coup).

quelqu'un connaît-il la requête sql répondant à ce défi ?

merci d'avance.


Etienne




RaphK34
Le #5467131
:)) ça à l'air si simple quand tu réponds ... (on sent bien la maitrise du sujet)

--
--------------------------------------------
Merci de répondre sur le NG
Toutes remarques bienvenues !

Pour un contact direct, utiliser:
en enlevant nospam.

"Raymond [mvp]" | Bonjour.
|
| tu te casses bien la tête.
| solution:
| -supprimer le champ autonum
| -recréer le champ autonum
|
| --
| @+
| Raymond Access MVP
| http://access.seneque.free.fr/
| http://access.vba.free.fr/
| http://access2003.free.fr/
| http://users.skynet.be/mpfa/ pour débuter sur le forum
|
|
| "Etienne REMOND" | %
| >
| > j'ai trouvé.
| >
| > - initialiser tous les id à 0
| > - créer une table [tmp] d'un seul champ [id]
| > - y insérer une seule ligne avec [tmp].[id] = 0
| > - exécuter la requête:
| > UPDATE id, tmp
| > SET id.id = IIF ( id.id > tmp.id , id.id+1 , tmp.id + 1 )
| > , tmp.id = IIF ( id.id > tmp.id , id.id+1 , tmp.id + 1 )
| > - et voilà
| >
| > je suis curieux d'entendre vos autres solutions
| >
| >
| >
| >
| >
| > Etienne
| >
| >
| > Etienne REMOND wrote:
| >
| >> Bonjour
| >>
| >> j'ai un défi sql à vous proposer. je n'ai pas encore trouvé la solution.
| >>
| >> situation:
| >> j'ai une table [T] avec deux champs:
| >> - id (numérique entier long)
| >> - val (texte)
| >> il n'y a pas d'index, pas de clef.
| >>
| >> les champs [val] sont renseignés, mais pas les champ [id] (ils sont à
| >> null).
| >> je souhaite, par une requête sql, numéroter ces champs [id] de 1 à x, par
| >> incrément de 1 (en gros, faire du numauto, mais après coup).
| >>
| >> quelqu'un connaît-il la requête sql répondant à ce défi ?
| >>
| >> merci d'avance.
| >>
| >>
| >> Etienne
|
|
Publicité
Poster une réponse
Anonyme