A volte è vantaggioso per creare le colonne di una più valori in un campo di database Oracle . Vedendo i valori dati come colonna , al contrario di righe , agevola diverse manipolazioni e presentazioni di dati . Un esempio può essere quello di eseguire un'operazione matematica su un elenco da un campo , ma presentato come risultato sotto un altro valore che rappresenta una categoria per quel valore . Questo può essere visto come l'equivalente di una tabella a campi incrociati o griglia . Istruzioni 
 1 
 visualizzare i dati è disponibile tramite una query . Es: SELECT * FROM TABELLA 
 
 Il risultato della query precedente può produrre i seguenti tre colonne con i valori indicati 
 
 CATEGORIA PRODOTTO PREZZO € 
 
 ------ . A ----------- 1 -------- 5 
 
 ------ A ----------- 2 --- ---- 10 
 
 ------ B ----------- 2 ------- 10 
 
 ------ B ----------- 3 ------- 15 
 
 ------ C ----------- 3 ---- --- 15 
 
 ------ C ----------- 4 ------- 20 
 2 
 riscrivere la query per creare le colonne per i valori di categoria . 
 
 Seleziona 
 
 DECODE ( CATEGORIA , 'A' , VOCE , null ) CATEGORYA , Stati 
 DECODE ( CATEGORIA , 'B' , articolo, null) categoriaB , Stati 
 DECODE ( CATEGORIA , 'B' , VOCE , null ) CATEGORYC 
 
 DA TAVOLO 
 
 Nota : Questa query mostra come uno dei valori fila possono diventare colonne < br 
 Risultato > di Query 
 
 CATEGORYA categoriaB CATEGORYC 
 
 ------- 1 
 
 ------- 2 
 < p > ----------------------------- 2 
 
 ------------- ---------------- 3 
 
 --------------------------- ------------------------- 3 
 
 ------------------ ---------------------------------- 4 
 
 Anche se categoria è stata suddivisa in colonne univoche , le righe di dati non collassano . Sei file di dati (vedere Step1 risultato) occupano ancora sei file di uscita 
 3 
 Riscrivere la query per trovare il prezzo massimo per ogni categoria di colonne : . 
 
 SELEZIONA < br > 
 MAX ( DECODE ( CATEGORIA , 'A' , $ PREZZO , null ) ) CATEGORYA , Stati 
 MAX ( DECODE ( CATEGORIA , 'B' , $ PREZZO , null ) ) categoriaB , 
 < p > MAX ( DECODE ( CATEGORIA , 'C' , $ PREZZO , null) ) CATEGORYC 
 
 DA TAVOLO 
 
 Nota: 
 
 Questa query mostra ora una conseguente riga di dati . (il massimo prezzo ) per ogni categoria 
 
 Questo può essere verificato con i dati di esempio in Step1 
 
 - . per CategoryA , 10 è il massimo di valori 5 e 10 foto 
 . - per categoriaB , 15 è massimo di valori 10 e 15 
 
 - per CategoryC , 20 è massimo di valori 15 e 20 foto 
 Risultato ricerca : . 
 
 CATEGORYA categoriaB . CATEGORYC 
 
 --------- 10 ---------- ------- 15 ---------- ----- 20