Soms is het voordelig om kolommen te maken uit een meerdere waarden in een Oracle -database veld . Zien van de data waarden kolom tegenover rijen , maakt verschillende datamanipulaties en presentaties . Een voorbeeld kan zijn om een rekenkundige bewerking op een lijst van het ene veld uitvoert , maar gepresenteerd als een resultaat van een waarde die een categorie die waarde . Dit kan worden gezien als het equivalent van een raster of cross - tab grafiek . Instructies 1 zien welke data is beschikbaar via een query . Vb : SELECT * FROM TAFEL Het resultaat van de bovenstaande vraag kan de volgende drie kolommen geven de waarden getoond CATEGORIE ITEM PRIJS $ ------ . Een ----------- 1 -------- 5 ------ A ----------- 2 --- ---- 10 ------ B ----------- 2 ------- 10 ------ B ----------- 3 ------- 15 ------ C ----------- 3 ---- --- 15 ------ C ----------- 4 ------- 20 2 Herschrijf de query om kolommen voor CATEGORIE waarden te creëren . SELECT DECODE ( CATEGORIE , ' A ' , PUNT , null ) Categoría , DECODE ( CATEGORIE , ' B ' , PUNT , null ) CATEGORYB , DECODE ( CATEGORIE , ' B ' , PUNT , null ) CATEGORYC VAN TAFEL notitiekaarten : Deze query toont hoe een rij waarden kolommen kunnen worden < br Resultaat > van Query Categoría CATEGORYB CATEGORYC ------- 1 ------- 2 ----------------------------- 2 ------------- ---------------- 3 --------------------------- ------------------------- 3 ------------------ ---------------------------------- 4 hoewel CATEGORIE is gesplitst in unieke kolommen de gegevensrijen niet instorten . Zes rijen gegevens ( zie Stap 1 resultaat ) nog steeds bezetten zes rijen van de output 3 Herschrijf de query naar de maximale prijs per categorie columns vinden : . SELECT < br MAX > ( DECODE ( CATEGORIE , ' A ' , $ PRIJS , null ) ) Categoría , MAX ( DECODE ( CATEGORIE , ' B ' , $ PRIJS , null ) ) CATEGORYB , MAX ( DECODE ( CATEGORIE , ' C ' , $ PRIJS , null ) ) CATEGORYC vAN TAFEL Nota : Deze query toont nu een resulterende rij gegevens . ( de maximale prijs ) per categorie Dit kan worden vergeleken met de voorbeeld data in Stap1 - . voor Categoría , 10 is maximale waarden 5 en 10 . - voor CategoryB , 15 is maximaal de waarden 10 en 15 - voor CategoryC , 20 is maximale waarden 15 en 20 Resultaat van Query : . Categoría CATEGORYB . CATEGORYC --------- 10 ---------- ------- 15 ---------- ----- 20
|