Programação  
 
Conhecimento computador >> Programação >> Programação De Computador Idiomas >> 
Oracle: Como dividir valores em colunas
Às vezes é vantajoso criar colunas de um de vários valores em um campo de banco de dados Oracle. Vendo os valores dados como coluna , em oposição a linhas , permite diferentes formas de manipulação de dados e apresentações . Um exemplo pode ser o de realizar uma operação matemática de uma lista de um campo , mas apresenta-se como um resultado sob um outro valor que representa uma categoria para esse valor . Isso pode ser visto como o equivalente a uma grade ou gráfico cross- tab . Instruções
1

Veja o que os dados estão disponíveis através de uma consulta. Ex : SELECT * FROM TABELA

O resultado da consulta acima pode produzir as três colunas seguintes com valores mostrados

CATEGORIA ITEM PREÇO $

------ . A

----------- 1 -------- 5
------ A ----------- 2 --- ---- 10

------ B ----------- 2 ------- 10

------ B ----------- 3 ------- 15

------ C ----------- 3 ---- --- 15

------ C ----------- 4 ------- 20
2

Reescreva a consulta para criar colunas para valores categoria.

SELECIONE
DECODE

(categoria ' a', ITEM , null ) CATEGORYA ,

DECODE (categoria, 'B' , ITEM , null) CATEGORYB ,

DECODE (categoria, 'B' , ITEM , null ) CategoryC

DE TABELA

Nota: Esta consulta mostra como um valores de linha podem se tornar colunas

Resultado da consulta

CATEGORYA CATEGORYB CategoryC

------- 1

------- 2

----------------------------- 2

------------- ---------------- 3

--------------------------- ------------------------- 3

------------------ ---------------------------------- 4

apesar categoria foi dividida em colunas exclusivas , as linhas de dados não entrar em colapso. Seis linhas de dados ( ver o resultado Passo 1 ) ainda ocupam seis fileiras de saída
3

Reescreva a consulta para encontrar o preço máximo por categoria colunas : .

SELECT < br >

MAX ( DECODE (categoria ' A', $ PRICE, null) ) CATEGORYA ,

MAX ( DECODE (categoria, 'B ', $ PRICE, null) ) CATEGORYB ,

MAX ( DECODE ( CATEGORIA , 'C ', $ PRICE, null) ) CategoryC

dE TABELA

Nota:

Esta consulta mostra agora uma linha de dados , resultando ( o preço máximo) por Categoria

Isso pode ser verificado em relação aos dados de exemplo em Passo 1

- . . para CategoryA , 10 é o máximo de valores de 5 e 10

. - para CategoryB , 15 é o máximo de valores de 10 e 15

- para CategoryC , 20 é o máximo de valores de 15 e 20

Resultado da consulta: .

CATEGORYA CATEGORYB . CategoryC

--------- 10 ---------- ------- 15 ---------- ----- 20

Anterior :

Próximo : No
  Os artigos relacionados
·Como substituir Pascal 
·Cerca de um binário para Hex Conversão de arquivo 
·Como converter Hex para Decimal no Oracle 
·Tipos opacas 
·Como Mudar De GW- BASIC para QBasic 
·Como adicionar um objeto para ViewState 
·Como Ler arquivo plano várias vezes em COBOL 
·Diferença entre um erro de sintaxe e um erro de semân…
·O que são classes imutáveis ​​
·Como Ler um MOV em MATLAB 
  Artigos em destaque
·Como definir a última linha de um Grid para Foco 
·Definição de Labels Marquee 
·Como fazer a interface C para MATLAB 
·Como formatar Decimals Usando AWK 
·Como ler dados em Xcode 
·Como limpar tela antes de um novo loop em um CPP 
·Como programar em linguagem Basic for um microcontrolad…
·Como escrever um programa que exibe um número de ident…
·Como criar uma caixa de texto no Visual C # 
·Como capturar o carimbo de data e hora em DOS Command 
Cop e direita © Conhecimento computador http://ptcomputador.com Todos os Direitos Reservados