Contenu | Rechercher | Menus

Annonce

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".
Test de l'ISO d'Ubuntu francophone : nous avons besoin de testeurs pour la version francophone d'Ubuntu 14.04. Liens et informations ici.

Attention, une faille de sécurité dans bash a récemment été rapportée, il est recommandé de mettre à jour son système (plus de détails) *** mise à jour 12/10/2014 ***

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

Gryphus71

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

Gryphus71

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

pingouinux

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

En ligne

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

Gryphus71

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

pingouinux

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)

En ligne

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

Gryphus71

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 ↑