IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

SQL Oracle Discussion :

Pb de reflexion


Sujet :

SQL Oracle

  1. #1
    Membre confirmé
    Inscrit en
    Novembre 2006
    Messages
    113
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 113
    Par défaut Pb de reflexion
    j'ai une table avec le contenu suivant:

    pas:code societé
    mat:matricule
    coln:colonne
    ord:ligne
    res:resultat
    des:designation
    (voir piéce jointe)
    je fais la requete suivante:
    select

    pas,mat,
    SUM(case when coln =1 and ord=5 then res else 0 END) "1_5",
    sum(case when coln =1 and ord=2 then res else 0 END) "1_2"
    from
    table1
    GROUP BY pas,mat

    cette requete me donne une seule ligne par matricule, mais malheureusement cette requete affiche seulement le resultat(res) sans afficher la designation (des).
    si j'ajoute des parmi les champs a selectionner des cette requete me donne tant de lignes de (des) qui existent pour chaque employé.
    moi j'aimerai bien aficher pour chaque employé toutes les valeurs avec leur designation .
    ex:
    au lieu que "1_5"=1235 -> "1_5"=prime x: 1235

    avez vous un idée
    svp aidez moi j'ai besoin de vos idées
    merci d'avance
    Images attachées Images attachées  

  2. #2
    Membre expérimenté Avatar de Sceener
    Inscrit en
    Mai 2007
    Messages
    231
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 231
    Par défaut
    Citation Envoyé par fatati Voir le message
    si j'ajoute des parmi les champs a selectionner des cette requete me donne tant de lignes de (des) qui existent pour chaque employé.
    moi j'aimerai bien aficher pour chaque employé toutes les valeurs avec leur designation .
    la par exemple tu es contradictoire , si par exemple un employé ayant deux description différentes , ta requête les sélectionnera , sinon elle va afficher une seule description pour les mêmes valeurs.

    Explique en clair ce que tu veux et essaye d'utiliser la balise [CODE]

  3. #3
    Rédacteur
    Avatar de Bruno2r
    Homme Profil pro
    Exploitation des données
    Inscrit en
    Décembre 2006
    Messages
    2 566
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Exploitation des données
    Secteur : Santé

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 566
    Par défaut
    Je n'ai matériellement pas le temps de tester ce que je te propose ...
    Pourrais tu essayer ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    select
    pas,mat,res,
    SUM(case when coln =1 and ord=5 then res else 0 END) over (partition by mat order by des) "1_5",
    sum(case when coln =1 and ord=2 then res else 0 END) over (partition by mat order by des)"1_2"
    from
    table1
    order by pas,mat,des
    Précisez la VERSION !
    Un message vous a aidé ? Votez en cliquant sur Pensez au bouton
    Tutoriels BO et FAQ BO
    "A vouloir repousser ses limites ... On risque d'en prendre connaissance !!!"

  4. #4
    Expert confirmé
    Avatar de laurentschneider
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Décembre 2005
    Messages
    2 944
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2005
    Messages : 2 944
    Par défaut
    avec les données attachées, quel est le résultat attendu?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    select pas,mat,
      case when coln =1 and ord=5 then res else 0 END "1_5",
      case when coln =1 and ord=2 then res else 0 END "1_2",des 
    from table1;
           PAS        MAT        1_5        1_2 DES
    ---------- ---------- ---------- ---------- --------
           100          3          0          0 valeur 1
           100          3      72000          0 valeur 2
           100          3          0          0 valeur 3
           100          5          0          0 valeur 1
           100          5      14592          0 valeur 2
           100          5          0          0 valeur 3

  5. #5
    Expert confirmé
    Avatar de laurentschneider
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Décembre 2005
    Messages
    2 944
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2005
    Messages : 2 944
    Par défaut
    ou peut-être

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    select pas,mat,
      max(case when coln =1 and ord=5 then des||':'||res END) "1_5",
      max(case when coln =1 and ord=2 then des||':'||res END) "1_2" 
    from t group by pas,mat;
           PAS        MAT 1_5             1_2
    ---------- ---------- --------------- ---------------
           100          3 valeur 2:72000
           100          5 valeur 2:14592

  6. #6
    Expert confirmé
    Avatar de laurentschneider
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Décembre 2005
    Messages
    2 944
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2005
    Messages : 2 944
    Par défaut
    voire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    select * from t pivot (max(des||':'||res) for (coln,ord) in ((1,2),(1,5)))
           PAS        MAT 1_2             1_5
    ---------- ---------- --------------- ---------------
           100          3                 valeur 2:72000
           100          5                 valeur 2:14592
    merci de toujours préciser ta version

  7. #7
    Membre confirmé
    Inscrit en
    Novembre 2006
    Messages
    113
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 113
    Par défaut
    effectivement ce bout de code marche parfaitement pour mon problème:

    select pas,mat,
    max(case when coln =1 and ord=5 then des||':'||res END) "1_5",
    max(case when coln =1 and ord=2 then des||':'||res END) "1_2"
    from t group by pas,mat;

    mais l'expression max me pose un autre pb, juste pour explication le but de cette requete est de remplir les cellules d'une grille à 14 colonne et 8 lignes (1_1..1_8...14_1...14_8 donc ma requete va contenir bcp plus de lignes :
    max(case when coln =i and ord=j then des||':'||res END) "i_j"

    le pb qui se pose est que qd je dépasse un nb de lignes j'ai l'erreur suivante:
    ora_01467 sort key too long

    chose que j'ai pas si je mes une sum au lieu de max
    avez vous une solution ?

  8. #8
    Membre Expert Avatar de Garuda
    Homme Profil pro
    Chef de projet / Urbaniste SI
    Inscrit en
    Juin 2007
    Messages
    1 285
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet / Urbaniste SI
    Secteur : Bâtiment

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 285
    Par défaut
    Citation Envoyé par fatati Voir le message
    ) "i_j"

    le pb qui se pose est que qd je dépasse un nb de lignes j'ai l'erreur suivante:
    ora_01467 sort key too long

    chose que j'ai pas si je mes une sum au lieu de max
    avez vous une solution ?
    Version d'oracle ?

  9. #9
    Membre confirmé
    Inscrit en
    Novembre 2006
    Messages
    113
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 113
    Par défaut
    la version que j'utilise est 9.2

  10. #10
    Expert confirmé
    Avatar de laurentschneider
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Décembre 2005
    Messages
    2 944
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2005
    Messages : 2 944
    Par défaut
    dommage, je venais de te préparer une réponse ...
    tant pis, la voici quand même au cas où tu penses bientôt migrer en 11g

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
    select * from t pivot (max(des||':'||res) for (coln,ord) in (
    (1,1), (1,2), (1,3), (1,4), (1,5), (1,6), (1,7), (1,8),
    (2,1), (2,2), (2,3), (2,4), (2,5), (2,6), (2,7), (2,8),
    (3,1), (3,2), (3,3), (3,4), (3,5), (3,6), (3,7), (3,8),
    (4,1), (4,2), (4,3), (4,4), (4,5), (4,6), (4,7), (4,8),
    (5,1), (5,2), (5,3), (5,4), (5,5), (5,6), (5,7), (5,8),
    (6,1), (6,2), (6,3), (6,4), (6,5), (6,6), (6,7), (6,8),
    (7,1), (7,2), (7,3), (7,4), (7,5), (7,6), (7,7), (7,8),
    (8,1), (8,2), (8,3), (8,4), (8,5), (8,6), (8,7), (8,8),
    (9,1), (9,2), (9,3), (9,4), (9,5), (9,6), (9,7), (9,8),
    (10,1), (10,2), (10,3), (10,4), (10,5), (10,6), (10,7), (10,8),
    (11,1), (11,2), (11,3), (11,4), (11,5), (11,6), (11,7), (11,8),
    (12,1), (12,2), (12,3), (12,4), (12,5), (12,6), (12,7), (12,8),
    (13,1), (13,2), (13,3), (13,4), (13,5), (13,6), (13,7), (13,8),
    (14,1), (14,2), (14,3), (14,4), (14,5), (14,6), (14,7), (14,8)
    ));
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
           PAS        MAT 1_1  1_2  1_3  1_4  1_5  1_6  1_7  1_8  2_1  2_2  2_3  2_4  2_5  2_6  2_7  2_8  3_1  3_2  3_3  3_4  3_5  3_6  3_7  3_8  4_1  4_2  4_3  4_4  4_5  4_6  4_7  4_8  5_1  5_2  5_3  5_4  5_5  5_6  5_7  5_8  6_1  6_2  6_3  6_4  6_5  6_6  6_7  6_8  7_1  7_2  7_3  7_4  7_5  7_6  7_7  7_8  8_1  8_2  8_3  8_4  8_5  8_6  8_7  8_8  9_1  9_2  9_3  9_4  9_5  9_6  9_7  9_8  10_1 10_2 10_3 10_4 10_5 10_6 10_7 10_8 11_1 11_2 11_3 11_4 11_5 11_6 11_7 11_8 12_1 12_2 12_3 12_4 12_5 12_6 12_7 12_8 13_1 13_2 13_3 13_4 13_5 13_6 13_7 13_8 14_1 14_2 14_3 14_4 14_5 14_6 14_7 14_8
    ---------- ---------- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ----
           100          3                     v2:7                v1:7                                              v3:0
           100          5                     v2:1                v1:1                                              v3:0

  11. #11
    Membre confirmé
    Inscrit en
    Novembre 2006
    Messages
    113
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 113
    Par défaut
    donc pour ma version je peu pas régler mon problème?

  12. #12
    Expert confirmé
    Avatar de laurentschneider
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Décembre 2005
    Messages
    2 944
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2005
    Messages : 2 944
    Par défaut
    en 9i la requête suivante semble fonctionner
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
     
    select pas,mat,
    max(case when coln=1 and ord=1 then des||':'||res end) "1_1",
    max(case when coln=1 and ord=2 then des||':'||res end) "1_2",
    max(case when coln=1 and ord=3 then des||':'||res end) "1_3",
    max(case when coln=1 and ord=4 then des||':'||res end) "1_4",
    max(case when coln=1 and ord=5 then des||':'||res end) "1_5",
    max(case when coln=1 and ord=6 then des||':'||res end) "1_6",
    max(case when coln=1 and ord=7 then des||':'||res end) "1_7",
    max(case when coln=1 and ord=8 then des||':'||res end) "1_8",
    max(case when coln=2 and ord=1 then des||':'||res end) "2_1",
    max(case when coln=2 and ord=2 then des||':'||res end) "2_2",
    max(case when coln=2 and ord=3 then des||':'||res end) "2_3",
    max(case when coln=2 and ord=4 then des||':'||res end) "2_4",
    max(case when coln=2 and ord=5 then des||':'||res end) "2_5",
    max(case when coln=2 and ord=6 then des||':'||res end) "2_6",
    max(case when coln=2 and ord=7 then des||':'||res end) "2_7",
    max(case when coln=2 and ord=8 then des||':'||res end) "2_8",
    max(case when coln=3 and ord=1 then des||':'||res end) "3_1",
    max(case when coln=3 and ord=2 then des||':'||res end) "3_2",
    max(case when coln=3 and ord=3 then des||':'||res end) "3_3",
    max(case when coln=3 and ord=4 then des||':'||res end) "3_4",
    max(case when coln=3 and ord=5 then des||':'||res end) "3_5",
    max(case when coln=3 and ord=6 then des||':'||res end) "3_6",
    max(case when coln=3 and ord=7 then des||':'||res end) "3_7",
    max(case when coln=3 and ord=8 then des||':'||res end) "3_8",
    max(case when coln=4 and ord=1 then des||':'||res end) "4_1",
    max(case when coln=4 and ord=2 then des||':'||res end) "4_2",
    max(case when coln=4 and ord=3 then des||':'||res end) "4_3",
    max(case when coln=4 and ord=4 then des||':'||res end) "4_4",
    max(case when coln=4 and ord=5 then des||':'||res end) "4_5",
    max(case when coln=4 and ord=6 then des||':'||res end) "4_6",
    max(case when coln=4 and ord=7 then des||':'||res end) "4_7",
    max(case when coln=4 and ord=8 then des||':'||res end) "4_8",
    max(case when coln=5 and ord=1 then des||':'||res end) "5_1",
    max(case when coln=5 and ord=2 then des||':'||res end) "5_2",
    max(case when coln=5 and ord=3 then des||':'||res end) "5_3",
    max(case when coln=5 and ord=4 then des||':'||res end) "5_4",
    max(case when coln=5 and ord=5 then des||':'||res end) "5_5",
    max(case when coln=5 and ord=6 then des||':'||res end) "5_6",
    max(case when coln=5 and ord=7 then des||':'||res end) "5_7",
    max(case when coln=5 and ord=8 then des||':'||res end) "5_8",
    max(case when coln=6 and ord=1 then des||':'||res end) "6_1",
    max(case when coln=6 and ord=2 then des||':'||res end) "6_2",
    max(case when coln=6 and ord=3 then des||':'||res end) "6_3",
    max(case when coln=6 and ord=4 then des||':'||res end) "6_4",
    max(case when coln=6 and ord=5 then des||':'||res end) "6_5",
    max(case when coln=6 and ord=6 then des||':'||res end) "6_6",
    max(case when coln=6 and ord=7 then des||':'||res end) "6_7",
    max(case when coln=6 and ord=8 then des||':'||res end) "6_8",
    max(case when coln=7 and ord=1 then des||':'||res end) "7_1",
    max(case when coln=7 and ord=2 then des||':'||res end) "7_2",
    max(case when coln=7 and ord=3 then des||':'||res end) "7_3",
    max(case when coln=7 and ord=4 then des||':'||res end) "7_4",
    max(case when coln=7 and ord=5 then des||':'||res end) "7_5",
    max(case when coln=7 and ord=6 then des||':'||res end) "7_6",
    max(case when coln=7 and ord=7 then des||':'||res end) "7_7",
    max(case when coln=7 and ord=8 then des||':'||res end) "7_8",
    max(case when coln=8 and ord=1 then des||':'||res end) "8_1",
    max(case when coln=8 and ord=2 then des||':'||res end) "8_2",
    max(case when coln=8 and ord=3 then des||':'||res end) "8_3",
    max(case when coln=8 and ord=4 then des||':'||res end) "8_4",
    max(case when coln=8 and ord=5 then des||':'||res end) "8_5",
    max(case when coln=8 and ord=6 then des||':'||res end) "8_6",
    max(case when coln=8 and ord=7 then des||':'||res end) "8_7",
    max(case when coln=8 and ord=8 then des||':'||res end) "8_8",
    max(case when coln=9 and ord=1 then des||':'||res end) "9_1",
    max(case when coln=9 and ord=2 then des||':'||res end) "9_2",
    max(case when coln=9 and ord=3 then des||':'||res end) "9_3",
    max(case when coln=9 and ord=4 then des||':'||res end) "9_4",
    max(case when coln=9 and ord=5 then des||':'||res end) "9_5",
    max(case when coln=9 and ord=6 then des||':'||res end) "9_6",
    max(case when coln=9 and ord=7 then des||':'||res end) "9_7",
    max(case when coln=9 and ord=8 then des||':'||res end) "9_8",
    max(case when coln=10 and ord=1 then des||':'||res end) "10_1",
    max(case when coln=10 and ord=2 then des||':'||res end) "10_2",
    max(case when coln=10 and ord=3 then des||':'||res end) "10_3",
    max(case when coln=10 and ord=4 then des||':'||res end) "10_4",
    max(case when coln=10 and ord=5 then des||':'||res end) "10_5",
    max(case when coln=10 and ord=6 then des||':'||res end) "10_6",
    max(case when coln=10 and ord=7 then des||':'||res end) "10_7",
    max(case when coln=10 and ord=8 then des||':'||res end) "10_8",
    max(case when coln=11 and ord=1 then des||':'||res end) "11_1",
    max(case when coln=11 and ord=2 then des||':'||res end) "11_2",
    max(case when coln=11 and ord=3 then des||':'||res end) "11_3",
    max(case when coln=11 and ord=4 then des||':'||res end) "11_4",
    max(case when coln=11 and ord=5 then des||':'||res end) "11_5",
    max(case when coln=11 and ord=6 then des||':'||res end) "11_6",
    max(case when coln=11 and ord=7 then des||':'||res end) "11_7",
    max(case when coln=11 and ord=8 then des||':'||res end) "11_8",
    max(case when coln=12 and ord=1 then des||':'||res end) "12_1",
    max(case when coln=12 and ord=2 then des||':'||res end) "12_2",
    max(case when coln=12 and ord=3 then des||':'||res end) "12_3",
    max(case when coln=12 and ord=4 then des||':'||res end) "12_4",
    max(case when coln=12 and ord=5 then des||':'||res end) "12_5",
    max(case when coln=12 and ord=6 then des||':'||res end) "12_6",
    max(case when coln=12 and ord=7 then des||':'||res end) "12_7",
    max(case when coln=12 and ord=8 then des||':'||res end) "12_8",
    max(case when coln=13 and ord=1 then des||':'||res end) "13_1",
    max(case when coln=13 and ord=2 then des||':'||res end) "13_2",
    max(case when coln=13 and ord=3 then des||':'||res end) "13_3",
    max(case when coln=13 and ord=4 then des||':'||res end) "13_4",
    max(case when coln=13 and ord=5 then des||':'||res end) "13_5",
    max(case when coln=13 and ord=6 then des||':'||res end) "13_6",
    max(case when coln=13 and ord=7 then des||':'||res end) "13_7",
    max(case when coln=13 and ord=8 then des||':'||res end) "13_8",
    max(case when coln=14 and ord=1 then des||':'||res end) "14_1",
    max(case when coln=14 and ord=2 then des||':'||res end) "14_2",
    max(case when coln=14 and ord=3 then des||':'||res end) "14_3",
    max(case when coln=14 and ord=4 then des||':'||res end) "14_4",
    max(case when coln=14 and ord=5 then des||':'||res end) "14_5",
    max(case when coln=14 and ord=6 then des||':'||res end) "14_6",
    max(case when coln=14 and ord=7 then des||':'||res end) "14_7",
    max(case when coln=14 and ord=8 then des||':'||res end) "14_8"
    from t
    group by pas,mat;

  13. #13
    Membre confirmé
    Inscrit en
    Novembre 2006
    Messages
    113
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 113
    Par défaut
    effectivement c'est ce que j'ai fai mais

    le pb qui se pose est que qd je dépasse un nb de lignes j'ai l'erreur suivante:
    ora_01467 sort key too long

    c'est ce que j'ai envoyé avant est ce que ça marche chez vous?

  14. #14
    Expert confirmé
    Avatar de laurentschneider
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Décembre 2005
    Messages
    2 944
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2005
    Messages : 2 944
    Par défaut
    oui, j'ai testé avec 9.2.0.8 et ça a passé. Quelle est ta structure de table (DESC TABLE1) ?

  15. #15
    Membre confirmé
    Inscrit en
    Novembre 2006
    Messages
    113
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 113
    Par défaut
    La structure de ma table est la suivante

    pas:code societé number(4,0)
    mat:matricule number(10.0)
    coln:colonne number(2.0)
    ord:ligne number(2,0)
    res:resultat number(18,3)
    des:designation varchar2(30)


    merci bcp

  16. #16
    Expert confirmé
    Avatar de laurentschneider
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Décembre 2005
    Messages
    2 944
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2005
    Messages : 2 944
    Par défaut
    ici ça marche...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
     
    SQL> create table t(
      2  pas number(4,0),
      3  mat number(10.0),
      4  coln number(2.0),
      5  ord number(2,0),
      6  res number(18,3),
      7  des varchar2(30));
     
    Table created.
     
    SQL>
    SQL> select pas,mat,
      2  max(case when coln=1 and ord=1 then des||':'||res end) "1_1",
      3  max(case when coln=1 and ord=2 then des||':'||res end) "1_2",
      4  max(case when coln=1 and ord=3 then des||':'||res end) "1_3",
      5  max(case when coln=1 and ord=4 then des||':'||res end) "1_4",
      6  max(case when coln=1 and ord=5 then des||':'||res end) "1_5",
      7  max(case when coln=1 and ord=6 then des||':'||res end) "1_6",
      8  max(case when coln=1 and ord=7 then des||':'||res end) "1_7",
      9  max(case when coln=1 and ord=8 then des||':'||res end) "1_8",
     10  max(case when coln=2 and ord=1 then des||':'||res end) "2_1",
     11  max(case when coln=2 and ord=2 then des||':'||res end) "2_2",
     12  max(case when coln=2 and ord=3 then des||':'||res end) "2_3",
     13  max(case when coln=2 and ord=4 then des||':'||res end) "2_4",
     14  max(case when coln=2 and ord=5 then des||':'||res end) "2_5",
     15  max(case when coln=2 and ord=6 then des||':'||res end) "2_6",
     16  max(case when coln=2 and ord=7 then des||':'||res end) "2_7",
     17  max(case when coln=2 and ord=8 then des||':'||res end) "2_8",
     18  max(case when coln=3 and ord=1 then des||':'||res end) "3_1",
     19  max(case when coln=3 and ord=2 then des||':'||res end) "3_2",
     20  max(case when coln=3 and ord=3 then des||':'||res end) "3_3",
     21  max(case when coln=3 and ord=4 then des||':'||res end) "3_4",
     22  max(case when coln=3 and ord=5 then des||':'||res end) "3_5",
     23  max(case when coln=3 and ord=6 then des||':'||res end) "3_6",
     24  max(case when coln=3 and ord=7 then des||':'||res end) "3_7",
     25  max(case when coln=3 and ord=8 then des||':'||res end) "3_8",
     26  max(case when coln=4 and ord=1 then des||':'||res end) "4_1",
     27  max(case when coln=4 and ord=2 then des||':'||res end) "4_2",
     28  max(case when coln=4 and ord=3 then des||':'||res end) "4_3",
     29  max(case when coln=4 and ord=4 then des||':'||res end) "4_4",
     30  max(case when coln=4 and ord=5 then des||':'||res end) "4_5",
     31  max(case when coln=4 and ord=6 then des||':'||res end) "4_6",
     32  max(case when coln=4 and ord=7 then des||':'||res end) "4_7",
     33  max(case when coln=4 and ord=8 then des||':'||res end) "4_8",
     34  max(case when coln=5 and ord=1 then des||':'||res end) "5_1",
     35  max(case when coln=5 and ord=2 then des||':'||res end) "5_2",
     36  max(case when coln=5 and ord=3 then des||':'||res end) "5_3",
     37  max(case when coln=5 and ord=4 then des||':'||res end) "5_4",
     38  max(case when coln=5 and ord=5 then des||':'||res end) "5_5",
     39  max(case when coln=5 and ord=6 then des||':'||res end) "5_6",
     40  max(case when coln=5 and ord=7 then des||':'||res end) "5_7",
     41  max(case when coln=5 and ord=8 then des||':'||res end) "5_8",
     42  max(case when coln=6 and ord=1 then des||':'||res end) "6_1",
     43  max(case when coln=6 and ord=2 then des||':'||res end) "6_2",
     44  max(case when coln=6 and ord=3 then des||':'||res end) "6_3",
     45  max(case when coln=6 and ord=4 then des||':'||res end) "6_4",
     46  max(case when coln=6 and ord=5 then des||':'||res end) "6_5",
     47  max(case when coln=6 and ord=6 then des||':'||res end) "6_6",
     48  max(case when coln=6 and ord=7 then des||':'||res end) "6_7",
     49  max(case when coln=6 and ord=8 then des||':'||res end) "6_8",
     50  max(case when coln=7 and ord=1 then des||':'||res end) "7_1",
     51  max(case when coln=7 and ord=2 then des||':'||res end) "7_2",
     52  max(case when coln=7 and ord=3 then des||':'||res end) "7_3",
     53  max(case when coln=7 and ord=4 then des||':'||res end) "7_4",
     54  max(case when coln=7 and ord=5 then des||':'||res end) "7_5",
     55  max(case when coln=7 and ord=6 then des||':'||res end) "7_6",
     56  max(case when coln=7 and ord=7 then des||':'||res end) "7_7",
     57  max(case when coln=7 and ord=8 then des||':'||res end) "7_8",
     58  max(case when coln=8 and ord=1 then des||':'||res end) "8_1",
     59  max(case when coln=8 and ord=2 then des||':'||res end) "8_2",
     60  max(case when coln=8 and ord=3 then des||':'||res end) "8_3",
     61  max(case when coln=8 and ord=4 then des||':'||res end) "8_4",
     62  max(case when coln=8 and ord=5 then des||':'||res end) "8_5",
     63  max(case when coln=8 and ord=6 then des||':'||res end) "8_6",
     64  max(case when coln=8 and ord=7 then des||':'||res end) "8_7",
     65  max(case when coln=8 and ord=8 then des||':'||res end) "8_8",
     66  max(case when coln=9 and ord=1 then des||':'||res end) "9_1",
     67  max(case when coln=9 and ord=2 then des||':'||res end) "9_2",
     68  max(case when coln=9 and ord=3 then des||':'||res end) "9_3",
     69  max(case when coln=9 and ord=4 then des||':'||res end) "9_4",
     70  max(case when coln=9 and ord=5 then des||':'||res end) "9_5",
     71  max(case when coln=9 and ord=6 then des||':'||res end) "9_6",
     72  max(case when coln=9 and ord=7 then des||':'||res end) "9_7",
     73  max(case when coln=9 and ord=8 then des||':'||res end) "9_8",
     74  max(case when coln=10 and ord=1 then des||':'||res end) "10_1",
     75  max(case when coln=10 and ord=2 then des||':'||res end) "10_2",
     76  max(case when coln=10 and ord=3 then des||':'||res end) "10_3",
     77  max(case when coln=10 and ord=4 then des||':'||res end) "10_4",
     78  max(case when coln=10 and ord=5 then des||':'||res end) "10_5",
     79  max(case when coln=10 and ord=6 then des||':'||res end) "10_6",
     80  max(case when coln=10 and ord=7 then des||':'||res end) "10_7",
     81  max(case when coln=10 and ord=8 then des||':'||res end) "10_8",
     82  max(case when coln=11 and ord=1 then des||':'||res end) "11_1",
     83  max(case when coln=11 and ord=2 then des||':'||res end) "11_2",
     84  max(case when coln=11 and ord=3 then des||':'||res end) "11_3",
     85  max(case when coln=11 and ord=4 then des||':'||res end) "11_4",
     86  max(case when coln=11 and ord=5 then des||':'||res end) "11_5",
     87  max(case when coln=11 and ord=6 then des||':'||res end) "11_6",
     88  max(case when coln=11 and ord=7 then des||':'||res end) "11_7",
     89  max(case when coln=11 and ord=8 then des||':'||res end) "11_8",
     90  max(case when coln=12 and ord=1 then des||':'||res end) "12_1",
     91  max(case when coln=12 and ord=2 then des||':'||res end) "12_2",
     92  max(case when coln=12 and ord=3 then des||':'||res end) "12_3",
     93  max(case when coln=12 and ord=4 then des||':'||res end) "12_4",
     94  max(case when coln=12 and ord=5 then des||':'||res end) "12_5",
     95  max(case when coln=12 and ord=6 then des||':'||res end) "12_6",
     96  max(case when coln=12 and ord=7 then des||':'||res end) "12_7",
     97  max(case when coln=12 and ord=8 then des||':'||res end) "12_8",
     98  max(case when coln=13 and ord=1 then des||':'||res end) "13_1",
     99  max(case when coln=13 and ord=2 then des||':'||res end) "13_2",
    100  max(case when coln=13 and ord=3 then des||':'||res end) "13_3",
    101  max(case when coln=13 and ord=4 then des||':'||res end) "13_4",
    102  max(case when coln=13 and ord=5 then des||':'||res end) "13_5",
    103  max(case when coln=13 and ord=6 then des||':'||res end) "13_6",
    104  max(case when coln=13 and ord=7 then des||':'||res end) "13_7",
    105  max(case when coln=13 and ord=8 then des||':'||res end) "13_8",
    106  max(case when coln=14 and ord=1 then des||':'||res end) "14_1",
    107  max(case when coln=14 and ord=2 then des||':'||res end) "14_2",
    108  max(case when coln=14 and ord=3 then des||':'||res end) "14_3",
    109  max(case when coln=14 and ord=4 then des||':'||res end) "14_4",
    110  max(case when coln=14 and ord=5 then des||':'||res end) "14_5",
    111  max(case when coln=14 and ord=6 then des||':'||res end) "14_6",
    112  max(case when coln=14 and ord=7 then des||':'||res end) "14_7",
    113  max(case when coln=14 and ord=8 then des||':'||res end) "14_8"
    114  from t
    115  group by pas,mat;
     
    no rows selected
     
    SQL> select version from v$instance;
    VERSION
    -----------------
    9.2.0.8.0

  17. #17
    Membre confirmé
    Inscrit en
    Novembre 2006
    Messages
    113
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 113
    Par défaut
    Bonjour,

    Merci bcp laurentschneider pour votre aide c'est tré sympa de votre part
    j'ai crée la table t chez moi sachant que j'ai la version 9.2.0.8.0 et ça passe


    mais ma table se compose d'autres colonnes (heure de traitement, date...etc)chose que j'ai pas cru poser le pb et que j'ajoute ces colonnes le pb se pose pour cette table.

    Voici exactement ma table:

    CREATE TABLE slst_res_doc
    (idu VARCHAR2(10) NOT NULL,--User
    prg VARCHAR2(10) NOT NULL,--Programme
    dat NUMBER(8,0) NOT NULL,--Date
    hre NUMBER(6,0) NOT NULL,--heure
    pas NUMBER(4,0) NOT NULL,
    mat NUMBER(10,0),
    coln NUMBER(2,0),
    ord NUMBER(2,0),
    res NUMBER(18,3),
    des VARCHAR2(30));

    et comme ça la requete ne va pas passer
    en quoi ces colonnes peuvent bloquer?
    merci bcp

  18. #18
    Membre Expert Avatar de Garuda
    Homme Profil pro
    Chef de projet / Urbaniste SI
    Inscrit en
    Juin 2007
    Messages
    1 285
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet / Urbaniste SI
    Secteur : Bâtiment

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 285
    Par défaut
    Deja, je ferais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    max(case when coln=1 and ord=1 then des||':'||to_char(res) end) "1_1",

  19. #19
    Expert confirmé
    Avatar de laurentschneider
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Décembre 2005
    Messages
    2 944
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2005
    Messages : 2 944
    Par défaut
    ça marche ici
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
     
    SQL> CREATE TABLE slst_res_doc
      2  (idu                            VARCHAR2(10) NOT NULL,--User
      3  prg                            VARCHAR2(10) NOT NULL,--Programme
      4  dat                            NUMBER(8,0) NOT NULL,--Date
      5  hre                            NUMBER(6,0) NOT NULL,--heure
      6  pas                            NUMBER(4,0) NOT NULL,
      7  mat                            NUMBER(10,0),
      8  coln                           NUMBER(2,0),
      9  ord                            NUMBER(2,0),
     10  res                            NUMBER(18,3),
     11  des                            VARCHAR2(30));
     
    Table created.
     
    SQL>
    SQL> select pas,mat,
      2  max(case when coln=1 and ord=1 then des||':'||res end) "1_1",
      3  max(case when coln=1 and ord=2 then des||':'||res end) "1_2",
      4  max(case when coln=1 and ord=3 then des||':'||res end) "1_3",
      5  max(case when coln=1 and ord=4 then des||':'||res end) "1_4",
      6  max(case when coln=1 and ord=5 then des||':'||res end) "1_5",
      7  max(case when coln=1 and ord=6 then des||':'||res end) "1_6",
      8  max(case when coln=1 and ord=7 then des||':'||res end) "1_7",
      9  max(case when coln=1 and ord=8 then des||':'||res end) "1_8",
     10  max(case when coln=2 and ord=1 then des||':'||res end) "2_1",
     11  max(case when coln=2 and ord=2 then des||':'||res end) "2_2",
     12  max(case when coln=2 and ord=3 then des||':'||res end) "2_3",
     13  max(case when coln=2 and ord=4 then des||':'||res end) "2_4",
     14  max(case when coln=2 and ord=5 then des||':'||res end) "2_5",
     15  max(case when coln=2 and ord=6 then des||':'||res end) "2_6",
     16  max(case when coln=2 and ord=7 then des||':'||res end) "2_7",
     17  max(case when coln=2 and ord=8 then des||':'||res end) "2_8",
     18  max(case when coln=3 and ord=1 then des||':'||res end) "3_1",
     19  max(case when coln=3 and ord=2 then des||':'||res end) "3_2",
     20  max(case when coln=3 and ord=3 then des||':'||res end) "3_3",
     21  max(case when coln=3 and ord=4 then des||':'||res end) "3_4",
     22  max(case when coln=3 and ord=5 then des||':'||res end) "3_5",
     23  max(case when coln=3 and ord=6 then des||':'||res end) "3_6",
     24  max(case when coln=3 and ord=7 then des||':'||res end) "3_7",
     25  max(case when coln=3 and ord=8 then des||':'||res end) "3_8",
     26  max(case when coln=4 and ord=1 then des||':'||res end) "4_1",
     27  max(case when coln=4 and ord=2 then des||':'||res end) "4_2",
     28  max(case when coln=4 and ord=3 then des||':'||res end) "4_3",
     29  max(case when coln=4 and ord=4 then des||':'||res end) "4_4",
     30  max(case when coln=4 and ord=5 then des||':'||res end) "4_5",
     31  max(case when coln=4 and ord=6 then des||':'||res end) "4_6",
     32  max(case when coln=4 and ord=7 then des||':'||res end) "4_7",
     33  max(case when coln=4 and ord=8 then des||':'||res end) "4_8",
     34  max(case when coln=5 and ord=1 then des||':'||res end) "5_1",
     35  max(case when coln=5 and ord=2 then des||':'||res end) "5_2",
     36  max(case when coln=5 and ord=3 then des||':'||res end) "5_3",
     37  max(case when coln=5 and ord=4 then des||':'||res end) "5_4",
     38  max(case when coln=5 and ord=5 then des||':'||res end) "5_5",
     39  max(case when coln=5 and ord=6 then des||':'||res end) "5_6",
     40  max(case when coln=5 and ord=7 then des||':'||res end) "5_7",
     41  max(case when coln=5 and ord=8 then des||':'||res end) "5_8",
     42  max(case when coln=6 and ord=1 then des||':'||res end) "6_1",
     43  max(case when coln=6 and ord=2 then des||':'||res end) "6_2",
     44  max(case when coln=6 and ord=3 then des||':'||res end) "6_3",
     45  max(case when coln=6 and ord=4 then des||':'||res end) "6_4",
     46  max(case when coln=6 and ord=5 then des||':'||res end) "6_5",
     47  max(case when coln=6 and ord=6 then des||':'||res end) "6_6",
     48  max(case when coln=6 and ord=7 then des||':'||res end) "6_7",
     49  max(case when coln=6 and ord=8 then des||':'||res end) "6_8",
     50  max(case when coln=7 and ord=1 then des||':'||res end) "7_1",
     51  max(case when coln=7 and ord=2 then des||':'||res end) "7_2",
     52  max(case when coln=7 and ord=3 then des||':'||res end) "7_3",
     53  max(case when coln=7 and ord=4 then des||':'||res end) "7_4",
     54  max(case when coln=7 and ord=5 then des||':'||res end) "7_5",
     55  max(case when coln=7 and ord=6 then des||':'||res end) "7_6",
     56  max(case when coln=7 and ord=7 then des||':'||res end) "7_7",
     57  max(case when coln=7 and ord=8 then des||':'||res end) "7_8",
     58  max(case when coln=8 and ord=1 then des||':'||res end) "8_1",
     59  max(case when coln=8 and ord=2 then des||':'||res end) "8_2",
     60  max(case when coln=8 and ord=3 then des||':'||res end) "8_3",
     61  max(case when coln=8 and ord=4 then des||':'||res end) "8_4",
     62  max(case when coln=8 and ord=5 then des||':'||res end) "8_5",
     63  max(case when coln=8 and ord=6 then des||':'||res end) "8_6",
     64  max(case when coln=8 and ord=7 then des||':'||res end) "8_7",
     65  max(case when coln=8 and ord=8 then des||':'||res end) "8_8",
     66  max(case when coln=9 and ord=1 then des||':'||res end) "9_1",
     67  max(case when coln=9 and ord=2 then des||':'||res end) "9_2",
     68  max(case when coln=9 and ord=3 then des||':'||res end) "9_3",
     69  max(case when coln=9 and ord=4 then des||':'||res end) "9_4",
     70  max(case when coln=9 and ord=5 then des||':'||res end) "9_5",
     71  max(case when coln=9 and ord=6 then des||':'||res end) "9_6",
     72  max(case when coln=9 and ord=7 then des||':'||res end) "9_7",
     73  max(case when coln=9 and ord=8 then des||':'||res end) "9_8",
     74  max(case when coln=10 and ord=1 then des||':'||res end) "10_1",
     75  max(case when coln=10 and ord=2 then des||':'||res end) "10_2",
     76  max(case when coln=10 and ord=3 then des||':'||res end) "10_3",
     77  max(case when coln=10 and ord=4 then des||':'||res end) "10_4",
     78  max(case when coln=10 and ord=5 then des||':'||res end) "10_5",
     79  max(case when coln=10 and ord=6 then des||':'||res end) "10_6",
     80  max(case when coln=10 and ord=7 then des||':'||res end) "10_7",
     81  max(case when coln=10 and ord=8 then des||':'||res end) "10_8",
     82  max(case when coln=11 and ord=1 then des||':'||res end) "11_1",
     83  max(case when coln=11 and ord=2 then des||':'||res end) "11_2",
     84  max(case when coln=11 and ord=3 then des||':'||res end) "11_3",
     85  max(case when coln=11 and ord=4 then des||':'||res end) "11_4",
     86  max(case when coln=11 and ord=5 then des||':'||res end) "11_5",
     87  max(case when coln=11 and ord=6 then des||':'||res end) "11_6",
     88  max(case when coln=11 and ord=7 then des||':'||res end) "11_7",
     89  max(case when coln=11 and ord=8 then des||':'||res end) "11_8",
     90  max(case when coln=12 and ord=1 then des||':'||res end) "12_1",
     91  max(case when coln=12 and ord=2 then des||':'||res end) "12_2",
     92  max(case when coln=12 and ord=3 then des||':'||res end) "12_3",
     93  max(case when coln=12 and ord=4 then des||':'||res end) "12_4",
     94  max(case when coln=12 and ord=5 then des||':'||res end) "12_5",
     95  max(case when coln=12 and ord=6 then des||':'||res end) "12_6",
     96  max(case when coln=12 and ord=7 then des||':'||res end) "12_7",
     97  max(case when coln=12 and ord=8 then des||':'||res end) "12_8",
     98  max(case when coln=13 and ord=1 then des||':'||res end) "13_1",
     99  max(case when coln=13 and ord=2 then des||':'||res end) "13_2",
    100  max(case when coln=13 and ord=3 then des||':'||res end) "13_3",
    101  max(case when coln=13 and ord=4 then des||':'||res end) "13_4",
    102  max(case when coln=13 and ord=5 then des||':'||res end) "13_5",
    103  max(case when coln=13 and ord=6 then des||':'||res end) "13_6",
    104  max(case when coln=13 and ord=7 then des||':'||res end) "13_7",
    105  max(case when coln=13 and ord=8 then des||':'||res end) "13_8",
    106  max(case when coln=14 and ord=1 then des||':'||res end) "14_1",
    107  max(case when coln=14 and ord=2 then des||':'||res end) "14_2",
    108  max(case when coln=14 and ord=3 then des||':'||res end) "14_3",
    109  max(case when coln=14 and ord=4 then des||':'||res end) "14_4",
    110  max(case when coln=14 and ord=5 then des||':'||res end) "14_5",
    111  max(case when coln=14 and ord=6 then des||':'||res end) "14_6",
    112  max(case when coln=14 and ord=7 then des||':'||res end) "14_7",
    113  max(case when coln=14 and ord=8 then des||':'||res end) "14_8"
    114  from slst_res_doc
    115  group by pas,mat;
     
    no rows selected
     
    SQL>
    chez toi ça ne marche pas? donne moi l'output exact et

  20. #20
    Membre confirmé
    Inscrit en
    Novembre 2006
    Messages
    113
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 113
    Par défaut
    voila ma requete:

    Code:

    select pas,mat,
    max(case when coln=1 and ord=1 then des||':'||to_char(res,'999999.00') end) "1_1",
    max(case when coln=1 and ord=2 then des||':'||to_char(res,'999999.00') end) "1_2",
    max(case when coln=1 and ord=3 then des||':'||to_char(res,'999999.00') end) "1_3",
    max(case when coln=1 and ord=4 then des||':'||to_char(res,'999999.00') end) "1_4",
    max(case when coln=1 and ord=5 then des||':'||to_char(res,'999999.00') end) "1_5",
    max(case when coln=1 and ord=6 then des||':'||to_char(res,'999999.00') end) "1_6",
    max(case when coln=1 and ord=7 then des||':'||to_char(res,'999999.00') end) "1_7",
    max(case when coln=1 and ord=8 then des||':'||to_char(res,'999999.00') end) "1_8",
    max(case when coln=2 and ord=1 then des||':'||to_char(res,'999999.00') end) "2_1",
    max(case when coln=2 and ord=2 then des||':'||to_char(res,'999999.00') end) "2_2",
    max(case when coln=2 and ord=3 then des||':'||to_char(res,'999999.00') end) "2_3",
    max(case when coln=2 and ord=4 then des||':'||to_char(res,'999999.00') end) "2_4",
    max(case when coln=2 and ord=5 then des||':'||to_char(res,'999999.00') end) "2_5",
    max(case when coln=2 and ord=6 then des||':'||to_char(res,'999999.00') end) "2_6",
    max(case when coln=2 and ord=7 then des||':'||to_char(res,'999999.00') end) "2_7",
    max(case when coln=2 and ord=8 then des||':'||to_char(res,'999999.00') end) "2_8",
    max(case when coln=3 and ord=1 then des||':'||to_char(res,'999999.00') end) "3_1",
    max(case when coln=3 and ord=2 then des||':'||to_char(res,'999999.00') end) "3_2",
    max(case when coln=3 and ord=3 then des||':'||to_char(res,'999999.00') end) "3_3",
    max(case when coln=3 and ord=4 then des||':'||to_char(res,'999999.00') end) "3_4",
    max(case when coln=3 and ord=5 then des||':'||to_char(res,'999999.00') end) "3_5",
    max(case when coln=3 and ord=6 then des||':'||to_char(res,'999999.00') end) "3_6",
    max(case when coln=3 and ord=7 then des||':'||to_char(res,'999999.00') end) "3_7",
    max(case when coln=3 and ord=8 then des||':'||to_char(res,'999999.00') end) "3_8",
    max(case when coln=4 and ord=1 then des||':'||to_char(res,'999999.00') end) "4_1",
    max(case when coln=4 and ord=2 then des||':'||to_char(res,'999999.00') end) "4_2",
    max(case when coln=4 and ord=3 then des||':'||to_char(res,'999999.00') end) "4_3",
    max(case when coln=4 and ord=4 then des||':'||to_char(res,'999999.00') end) "4_4",
    max(case when coln=4 and ord=5 then des||':'||to_char(res,'999999.00') end) "4_5",
    max(case when coln=4 and ord=6 then des||':'||to_char(res,'999999.00') end) "4_6",
    max(case when coln=4 and ord=7 then des||':'||to_char(res,'999999.00') end) "4_7",
    max(case when coln=4 and ord=8 then des||':'||to_char(res,'999999.00') end) "4_8",
    max(case when coln=5 and ord=1 then des||':'||to_char(res,'999999.00') end) "5_1",
    max(case when coln=5 and ord=2 then des||':'||to_char(res,'999999.00') end) "5_2",
    max(case when coln=5 and ord=3 then des||':'||to_char(res,'999999.00') end) "5_3",
    max(case when coln=5 and ord=4 then des||':'||to_char(res,'999999.00') end) "5_4",
    max(case when coln=5 and ord=5 then des||':'||to_char(res,'999999.00') end) "5_5",
    max(case when coln=5 and ord=6 then des||':'||to_char(res,'999999.00') end) "5_6",
    max(case when coln=5 and ord=7 then des||':'||to_char(res,'999999.00') end) "5_7",
    max(case when coln=5 and ord=8 then des||':'||to_char(res,'999999.00') end) "5_8",
    max(case when coln=6 and ord=1 then des||':'||to_char(res,'999999.00') end) "6_1",
    max(case when coln=6 and ord=2 then des||':'||to_char(res,'999999.00') end) "6_2",
    max(case when coln=6 and ord=3 then des||':'||to_char(res,'999999.00') end) "6_3",
    max(case when coln=6 and ord=4 then des||':'||to_char(res,'999999.00') end) "6_4",
    max(case when coln=6 and ord=5 then des||':'||to_char(res,'999999.00') end) "6_5",
    max(case when coln=6 and ord=6 then des||':'||to_char(res,'999999.00') end) "6_6",
    max(case when coln=6 and ord=7 then des||':'||to_char(res,'999999.00') end) "6_7",
    max(case when coln=6 and ord=8 then des||':'||to_char(res,'999999.00') end) "6_8",
    max(case when coln=7 and ord=1 then des||':'||to_char(res,'999999.00') end) "7_1",
    max(case when coln=7 and ord=2 then des||':'||to_char(res,'999999.00') end) "7_2",
    max(case when coln=7 and ord=3 then des||':'||to_char(res,'999999.00') end) "7_3",
    max(case when coln=7 and ord=4 then des||':'||to_char(res,'999999.00') end) "7_4",
    max(case when coln=7 and ord=5 then des||':'||to_char(res,'999999.00') end) "7_5",
    max(case when coln=7 and ord=6 then des||':'||to_char(res,'999999.00') end) "7_6",
    max(case when coln=7 and ord=7 then des||':'||to_char(res,'999999.00') end) "7_7",
    max(case when coln=7 and ord=8 then des||':'||to_char(res,'999999.00') end) "7_8",
    max(case when coln=8 and ord=1 then des||':'||to_char(res,'999999.00') end) "8_1",
    max(case when coln=8 and ord=2 then des||':'||to_char(res,'999999.00') end) "8_2",
    max(case when coln=8 and ord=3 then des||':'||to_char(res,'999999.00') end) "8_3",
    max(case when coln=8 and ord=4 then des||':'||to_char(res,'999999.00') end) "8_4",
    max(case when coln=8 and ord=5 then des||':'||to_char(res,'999999.00') end) "8_5",
    max(case when coln=8 and ord=6 then des||':'||to_char(res,'999999.00') end) "8_6",
    max(case when coln=8 and ord=7 then des||':'||to_char(res,'999999.00') end) "8_7",
    max(case when coln=8 and ord=8 then des||':'||to_char(res,'999999.00') end) "8_8",
    max(case when coln=9 and ord=1 then des||':'||to_char(res,'999999.00') end) "9_1",
    max(case when coln=9 and ord=2 then des||':'||to_char(res,'999999.00') end) "9_2",
    max(case when coln=9 and ord=3 then des||':'||to_char(res,'999999.00') end) "9_3",
    max(case when coln=9 and ord=4 then des||':'||to_char(res,'999999.00') end) "9_4",
    max(case when coln=9 and ord=5 then des||':'||to_char(res,'999999.00') end) "9_5",
    max(case when coln=9 and ord=6 then des||':'||to_char(res,'999999.00') end) "9_6",
    max(case when coln=9 and ord=7 then des||':'||to_char(res,'999999.00') end) "9_7",
    max(case when coln=9 and ord=8 then des||':'||to_char(res,'999999.00') end) "9_8",
    max(case when coln=10 and ord=1 then des||':'||to_char(res,'999999.00') end) "10_1",
    max(case when coln=10 and ord=2 then des||':'||to_char(res,'999999.00') end) "10_2",
    max(case when coln=10 and ord=3 then des||':'||to_char(res,'999999.00') end) "10_3",
    max(case when coln=10 and ord=4 then des||':'||to_char(res,'999999.00') end) "10_4",
    max(case when coln=10 and ord=5 then des||':'||to_char(res,'999999.00') end) "10_5",
    max(case when coln=10 and ord=6 then des||':'||to_char(res,'999999.00') end) "10_6",
    max(case when coln=10 and ord=7 then des||':'||to_char(res,'999999.00') end) "10_7",
    max(case when coln=10 and ord=8 then des||':'||to_char(res,'999999.00') end) "10_8",
    max(case when coln=11 and ord=1 then des||':'||to_char(res,'999999.00') end) "11_1",
    max(case when coln=11 and ord=2 then des||':'||to_char(res,'999999.00') end) "11_2",
    max(case when coln=11 and ord=3 then des||':'||to_char(res,'999999.00') end) "11_3",
    max(case when coln=11 and ord=4 then des||':'||to_char(res,'999999.00') end) "11_4",
    max(case when coln=11 and ord=5 then des||':'||to_char(res,'999999.00') end) "11_5",
    max(case when coln=11 and ord=6 then des||':'||to_char(res,'999999.00') end) "11_6",
    max(case when coln=11 and ord=7 then des||':'||to_char(res,'999999.00') end) "11_7",
    max(case when coln=11 and ord=8 then des||':'||to_char(res,'999999.00') end) "11_8",
    max(case when coln=12 and ord=1 then des||':'||to_char(res,'999999.00') end) "12_1",
    max(case when coln=12 and ord=2 then des||':'||to_char(res,'999999.00') end) "12_2",
    max(case when coln=12 and ord=3 then des||':'||to_char(res,'999999.00') end) "12_3",
    max(case when coln=12 and ord=4 then des||':'||to_char(res,'999999.00') end) "12_4",
    max(case when coln=12 and ord=5 then des||':'||to_char(res,'999999.00') end) "12_5",
    max(case when coln=12 and ord=6 then des||':'||to_char(res,'999999.00') end) "12_6",
    max(case when coln=12 and ord=7 then des||':'||to_char(res,'999999.00') end) "12_7",
    max(case when coln=12 and ord=8 then des||':'||to_char(res,'999999.00') end) "12_8",
    max(case when coln=13 and ord=1 then des||':'||to_char(res,'999999.00') end) "13_1",
    max(case when coln=13 and ord=2 then des||':'||to_char(res,'999999.00') end) "13_2",
    max(case when coln=13 and ord=3 then des||':'||to_char(res,'999999.00') end) "13_3",
    max(case when coln=13 and ord=4 then des||':'||to_char(res,'999999.00') end) "13_4",
    max(case when coln=13 and ord=5 then des||':'||to_char(res,'999999.00') end) "13_5",
    max(case when coln=13 and ord=6 then des||':'||to_char(res,'999999.00') end) "13_6",
    max(case when coln=13 and ord=7 then des||':'||to_char(res,'999999.00') end) "13_7",
    max(case when coln=13 and ord=8 then des||':'||to_char(res,'999999.00') end) "13_8",
    max(case when coln=14 and ord=1 then des||':'||to_char(res,'999999.00') end) "14_1",
    max(case when coln=14 and ord=2 then des||':'||to_char(res,'999999.00') end) "14_2",
    max(case when coln=14 and ord=3 then des||':'||to_char(res,'999999.00') end) "14_3",
    max(case when coln=14 and ord=4 then des||':'||to_char(res,'999999.00') end) "14_4",
    max(case when coln=14 and ord=5 then des||':'||to_char(res,'999999.00') end) "14_5",
    max(case when coln=14 and ord=6 then des||':'||to_char(res,'999999.00') end) "14_6",
    max(case when coln=14 and ord=7 then des||':'||to_char(res,'999999.00') end) "14_7",
    max(case when coln=14 and ord=8 then des||':'||to_char(res,'999999.00') end) "14_8"
    from slst_res_doc
    group by pas,mat;


    voila l'erreur:

    9:06:32 ORA-01467: sort key too long

    c'est axactement ce que j'ai

Discussions similaires

  1. [VB.NET]Reflexion lister les membres d'une classe ...presque
    Par lucie.houel dans le forum ASP.NET
    Réponses: 19
    Dernier message: 20/09/2005, 13h49
  2. [débat] Reflexion sur « quel langage ?»
    Par jack69 dans le forum Langages de programmation
    Réponses: 8
    Dernier message: 23/05/2005, 08h30

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo