Contenu | Rechercher | Menus

Annonce

Le forum rencontre en ce moment quelques soucis de charge, il est possible qu'une erreur soit affichée quand vous postez un message, ne rechargez pas la page au risque de poster une seconde fois votre message

Si vous rencontrez des soucis à rester connecté sur le forum (ou si vous avez perdu votre mot de passe) déconnectez-vous et reconnectez-vous depuis cette page, en cochant la case "Me connecter automatiquement lors de mes prochaines visites".

Déjà un an…

#1 Le 28/01/2013, à 10:33

Changer une table db2 en ligne : en colonnes.

Bonjour,

je dispose d'une table qui ressemble en résumé à :
1 A A1 A2 A3 A4 A5 ... A36
2 B B1 B2 B3 B4 B5 ... B36
3 C C1 C2 C3 C4 C5 ... C36
4 D D1 D2 D3 D4 D5 ... D36
5 E E1 E2 E3 E4 E5 ... E 36
que je souhaite obtenir sous la forme
1 A A1
2 A A2
3 A A3
4 A A4
5 A A5
6 B B1
7 B B2
8 B B3
9 B B4
10 B B5
11 C C1
...

est ce faisable ? je ne trouve pas comment, ça me parrait pourtant simple à première vue hmm
merci de m'apporter vos lumières ! wink

Hors ligne

#2 Le 28/01/2013, à 13:15

Re : Changer une table db2 en ligne : en colonnes.

Pour info la forme nominale de la table était :
row | col1 | tcol2
1 | A | A1#A2#A3#...#A36
2 | B | B1#B2#B3#...#B36
3...

j'ai réussi à découper cette 3° colonne en plusieurs colonnes
mais je ne sais pas si mon idée serait faisable sad

Hors ligne

#3 Le 28/01/2013, à 13:51

Re : Changer une table db2 en ligne : en colonnes.

Bonjour,

$ cat fichier
1 | A | A1#A2#A3#A36
2 | B | B1#B2#B3#B36
3 | C | C1#C2#C3#C36
$ awk -F"|" '{
> split($3,cols,"#")
> for (i=1;i<=length(cols);++i) { ++k; printf("%3d %s %s\n",k,$2,cols[i]) }
> }' fichier
  1  A   A1
  2  A  A2
  3  A  A3
  4  A  A36
  5  B   B1
  6  B  B2
  7  B  B3
  8  B  B36
  9  C   C1
 10  C  C2
 11  C  C3
 12  C  C36

Hors ligne

#4 Le 28/01/2013, à 14:25

Re : Changer une table db2 en ligne : en colonnes.

split n'existe pas en db2 et ça ne me parrait pas êter de la requête ce que tu m'as proposé.
Merci quand même, try again ? smile

Hors ligne

#5 Le 28/01/2013, à 14:35

Re : Changer une table db2 en ligne : en colonnes.

Je ne connais pas db2, et croyais qu'il s'agissait d'un fichier texte. C'est la commande awk que je te proposais. Désolé.

Dernière modification par pingouinux (Le 28/01/2013, à 14:35)

Hors ligne

#6 Le 28/01/2013, à 14:38

Re : Changer une table db2 en ligne : en colonnes.

Pas de sushi le pingouin wink
merci d'avoir essayé, comme on dit s'est l'intention qui compte ! smile

Hors ligne

Haut de page ↑