Voir quelles données est disponible via une requête. Ex: SELECT * FROM TABLE
Le résultat de la requête ci-dessus peut donner les trois colonnes suivantes avec les valeurs indiquées.
CATÉGORIE ARTICLE PRIX $
------ A 1 ----------- -------- 5
------ Un ----------- ------- 2 10
------ B 2 ----------- ------- 10
------ B 3 ----------- ------- 15
------ C ------- ----------- 3 15
------ C ------- ----------- 4 20
Réécrivez la requête pour créer des colonnes pour les valeurs de catégorie.
SELECT
DECODE (catégorie, 'A', ARTICLE, null) CATEGORYA,
DECODE (catégorie, 'B', ARTICLE, null) CATEGORYB,
DECODE (catégorie, 'B', ARTICLE, null) CATEGORYC
FROM TABLE
Note: Cette requête montre comment un valeurs de ligne peuvent devenir colonnes
Résultat de recherche
CATEGORYA CATEGORYB CATEGORYC
------- 1
------- 2
----------------------------- 2
----------------------------- 3
---------------------------------------------------- 3
---------------------------------------------------- 4
Même si catégorie a été divisée en colonnes uniques, les lignes de données ne fusionnent pas. Six lignes de données (voir le résultat Etape 1) occupent encore six rangées de sortie.
Réécrivez la requête pour trouver le prix maximum par catégorie colonnes:
SELECT
MAX (DECODE (catégorie, 'A', $ PRIX, null)) CATEGORYA,
MAX (DECODE (catégorie, 'B', $ PRIX, null)) CATEGORYB,
MAX (DECODE (catégorie, 'C', $ PRIX, null)) CATEGORYC
FROM TABLE
Note:
Cette requête montre maintenant une rangée résultant de données (le Prix maximum) par catégorie.
Cela peut être vérifié contre les données d'exemple à l'étape 1.
pour CategoryA, 10 est maximal de valeurs 5 et 10.
pour CategoryB, 15 est maximal de valeurs 10 et 15.
- pour CategoryC, 20 est maximal de valeurs 15 et 20.
Résultat de recherche:
CATEGORYA CATEGORYB CATEGORYC
---------10 ----------------- --------------- 15 20