Bonjour,
n'étant pas un expert avec les requêtes oracle, j'ai du mal à obtenir ce que je veux avec la fonction pivot.
soit le SQL suivant :
le résultat obtenu me convient, c'est à dire que pour chaque DESI, j'ai la somme en EURO et en DOLLAR sur la même ligne.
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 SELECT DESI, EURO, DOLLAR FROM ( SELECT 'Blouson XXL' AS DESI, 'EURO' AS CODE, 1.3 AS PRIX FROM DUAL UNION SELECT 'Blouson XXL' AS DESI, 'EURO' AS CODE, 1.5 AS PRIX FROM DUAL UNION SELECT 'Blouson XXL' AS DESI, 'DOLLAR' AS CODE, 1.9 AS PRIX FROM DUAL ) PIVOT (SUM(PRIX) FOR (CODE) IN ('EURO' AS EURO, 'DOLLAR' AS DOLLAR))
ensuite je rajoute la couleur :
le résultat me convient toujours
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 SELECT DESI, COULEUR, EURO, DOLLAR FROM ( SELECT 'Blouson XXL' AS DESI, 'Rouge' AS COULEUR, 'EURO' AS CODE, 1.3 AS PRIX FROM DUAL UNION SELECT 'Blouson XXL' AS DESI, 'Rouge' AS COULEUR, 'EURO' AS CODE, 1.5 AS PRIX FROM DUAL UNION SELECT 'Blouson XXL' AS DESI, 'Rouge' AS COULEUR, 'DOLLAR' AS CODE, 1.9 AS PRIX FROM DUAL ) PIVOT (SUM(PRIX) FOR (CODE) IN ('EURO' AS EURO, 'DOLLAR' AS DOLLAR))
par contre, c'est à partir de là, que ça ne va plus
j'aimerai faire un listagg de la couleur (unique) pour continuer d'avoir qu'une seule ligne en retour. le champs couleur est obligatoire dans le retour.
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 SELECT DESI, COULEUR, EURO, DOLLAR FROM ( SELECT 'Blouson XXL' AS DESI, 'Rouge' AS COULEUR, 'EURO' AS CODE, 1.3 AS PRIX FROM DUAL UNION SELECT 'Blouson XXL' AS DESI, 'Rouge' AS COULEUR, 'EURO' AS CODE, 1.2 AS PRIX FROM DUAL UNION SELECT 'Blouson XXL' AS DESI, 'Bleu' AS COULEUR, 'EURO' AS CODE, 1.5 AS PRIX FROM DUAL UNION SELECT 'Blouson XXL' AS DESI, 'Rouge' AS COULEUR, 'DOLLAR' AS CODE, 1.9 AS PRIX FROM DUAL ) PIVOT (SUM(PRIX) FOR (CODE) IN ('EURO' AS EURO, 'DOLLAR' AS DOLLAR))
Comment dois-je faire ?
merci
Partager