Récupérer une valeur d'un autre enregistrement

Récupérer une valeur d'un autre enregistrement - SQL/NoSQL - Programmation

Marsh Posté le 12-02-2007 à 17:37:19    

Bonjour à tous,
 
Voilà mon problème. Ou plutôt, j'ai une table Oracle, avec 2 colonne : une séquence de 1 à x, et l'info.
Or, mes lignes ont besoin d'un raffraîchissement.
 
Ma table actuelle :

Code :
  1. 1 | *EnTete1*
  2. 2 | données 1a
  3. 3 | données 1b
  4. 4 | données 1c
  5. 5 | données 1d
  6. ...
  7. 12 | données 1k
  8. 13 | *EnTete2*
  9. 14 | données 2a
  10. 15 | données 2b
  11. ...


 
Et moi, je voudrais :

Code :
  1. 1 | *EnTete1*
  2. 2 | *EnTete1*données 1a
  3. 3 | *EnTete1*données 1b
  4. 4 | *EnTete1*données 1c
  5. 5 | *EnTete1*données 1d
  6. ...
  7. 12 | *EnTete1*données 1k
  8. 13 | *EnTete2*
  9. 14 | *EnTete2*données 2a
  10. 15 | *EnTete2*données 2b
  11. ...


 
J'ai beaucoup cherché avec les fonctions analytiques, je me suis rapproché, mais je n'ai pas trouvé.
Any idea?
Merci d'avance  :)

Reply

Marsh Posté le 12-02-2007 à 17:37:19   

Reply

Marsh Posté le 12-02-2007 à 20:58:15    

Je ne connais pas la syntaxe Oracle, mais en SQL Server j'aurais updaté comme ça :
 

Code :
  1. update matable
  2. set monchamp = '*EnTete1*' + monchamp
  3. where monchamp like 'données 1%'
  4. update matable
  5. set monchamp = '*EnTete2*' + monchamp
  6. where monchamp like 'données 2%'


 
bien sûr, tel quel c'est valable uniquement si tu as moins de 10 entêtes, sinon faut faire un peu plus sioux en utilisant la valeur numérique entre "*EnTete" et "*" avec celle qu'il y a entre "données " et la ou les dernières lettres :)


Message édité par pikti le 13-02-2007 à 03:11:09
Reply

Marsh Posté le 13-02-2007 à 09:54:40    

Je te remercie Pikti, mais à vrai dire, mes données ne ressemblent pas du tout à "données 1...", ce sont des chaînes de caractères totalement aléatoire. Ici, c'était pour l'exemple.
 
Je continue de chercher. Merci quand même Pikti. Je posterai si je trouve. (Ce matin, en me rasant, j'ai eu une nouvelle idée,  :lol: . Il me faut la tester.)

Reply

Marsh Posté le 13-02-2007 à 13:11:21    

Bien, je m'en suis sorti avec une requête, 2 sous-requêtes, et 3 sous-sous requêtes... Pour l'instant, ça marche, mais il va surement falloir que j'optimise ça. On verra comment elle se comporte selon mon volume de données.

Reply

Marsh Posté le 13-02-2007 à 14:24:52    

arf, me doutais un peu que c'était pas si trivial mais bon au cas où, note l'effort de participation :p

Reply

Sujets relatifs:

Leave a Replay

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