Bonjour à tous,

soit une table T comme ceci:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
------------------------------------------------------
SOCIETE           VALEUR                DATE
------------------------------------------------------
X                       12                    22/10/2005
X                       17                    12/01/2004
X                       22                     25/07/2007
Y                       12                    22/10/2005
Y                      17                      12/03/2006
Y                       22                     20/07/2007
Y                       22                     05/07/2007
...
et une fonction d'agrégat du style: http://pages.infinit.net/orautils/pages/stragg.htm (Fonction qui concatène les valeurs d'une colonne d'agrégat)

Je voudrais obtenir pour chaque SOCIETE une ligne:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
X  [Liste des VALEURs triées par date]  [Liste des DATEs triées]
Y  [Liste des VALEURs triées par date]  [Liste des DATEs triées]
soit pour l'exemple:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
 
------------------------------------------------------
SOCIETE      VALEURS                DATES
------------------------------------------------------
X            17;12;22       12/01/2004;22/10/2005;25/07/2007
 
Y         12;17;22;22      22/10/2005;12/03/2006;05/07/2007;20/07/2007
 
 
...
en gros - en omettant le tri - la requête serait:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
select societe, stragg(valeur),stragg(TO_CHAR(date))
from T
group by societe
N.B: En réalité la fonction d'agrégat que j'utilise à la place de stragg créé un VARRAY au lieu d'une concaténation.

Merci d'avance pour votre aide.