Bonjour,

J'aimerai faire un tableau dynamique croisé, explications
J'ai une table qui contient deux FK:
Table_Principale
{clé,
fk_1,
fk_2}

Table_1
{fk_1
libelle_1}

Table_2
{fk_2
libelle_2}

mon but est d'avoir une présentation en tableau dynamique croisé
Avec les lignes qui correspondent au contenu de ma table 1
et les colonnes qui correspondent au contenu de ma table 2

en gros

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
****   |lib_2a | lib_2a | total
_______________________________
lib_1a |  sum  |   sum  | count
_______________________________
lib_1b |  sum  |   sum  | count
si le contenu de ma table 2 serait fixe ca serait facile il suffirait de faire :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
select 
    sum(decode(fk_2,fk_2a,1,0)) 'lib_2a',
    sum(decode(fk_2,fk_2b,1,0)) 'lib_2b',
    count(fk_1) TOTAL
from table_principale P,table_1 1, table_1 2 
where P.fk_1 = 1.fk_1, P.fk_2 = 2.fk_2
group by   P.fk_1
Seulement ce n'est pas le cas, et je voudrais que ma requête fonctionne même si des enregistrements sont insérer dans la table 2

Je pense qu'il est facile de générer la requête en sql dynamique par contre mon problème est comment récupérer le résultat dans un curseur générique ...
Il me semble que c'est impossible (Source SQL Dynamique : sheikyerbouti)

Pensez-vous a une autre solution ?