Home Hardware Networking Programmazione Software Domanda Sistemi
Conoscenza Informatica >> Programmazione >> Computer Programming Languages >> .

Oracle : Come dividere i valori in colonne

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

----------------------------- 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

MAX ( DECODE ( CATEGORIA , 'A' , $ PREZZO , null ) ) CATEGORYA , Stati

MAX ( DECODE ( CATEGORIA , 'B' , $ PREZZO , null ) ) categoriaB ,

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

 

Programmazione © www.354353.com