Bonjour à tous
je possède une table T1 définie comme ceci :
C1 (Number(5))
C2 (Varchar2(40))
C1 contient des nombres sur 5 chiffres maximum, et C2 des chaînes de longueurs variables.
Je souhaiterai obtenir un tableau comme ceci :
L'idée est donc de compter le nombre de champs de la table ayant pour chaîne la chaîneX (de C2), et regroupés par les nombres différents de C1.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 C1 chaîne1C2 chaîne2C2 châine3C2 châine4C2 .... 1 12 345 6473 3 2 483 3 24332 980 ... 54352 2243 43 6 7326
Le soucis c'est que je ne connais pas toutes les chaînes de C2 (enfin si, mais il y en a une centaine...). J'aurais donc pu faire ceci (cf code ci-dessous), mais ça serait trop long :
Une idée? Merci à tous
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 SELECT C1, count(CASE WHEN C2='chaine1' THEN 1 END), count(CASE WHEN C2='chaine2' THEN 1 END), ... count(CASE WHEN C2='chaine100' THEN 1 END), FROM T1 GROUP BY C1 ORDER BY C1;
Partager