Tabela informacoes deitadas

Delphi

16/10/2006

Bom dia pessoas!
Seguinte tenho uma tabela com a seguinte estrutura

Associado number ,
tipo Varchar,
valor Number

com os seguinte valores
Associado tipo valor
1 terapia 2,00
1 Exame 20,00
2 terapia 30,00
2 internacao 50,00
3 consulta 40,00
3 internacao 55,00

Gostaria de imprimir assim
Associado terapia Exame internacao consulta
1 2,00 20,00 null null
2 30,00 null 50,00 null
3 null null 55,00 40,00

Alguem sabe como faço?

Uso Oracle e delphi7


Magnus@

Magnus@

Curtidas 0

Respostas

Motta

Motta

16/10/2006

use case

SELECT ASSOCIADO,
            (CASE TIPO = ´TERAPIA´ THEN VALOR ELSE 0 END) TERAPIA,
            (CASE TIPO = ´EXAME´ THEN VALOR ELSE 0 END) EXAME,
             (CASE TIPO = ´CONSULTA´ THEN VALOR ELSE 0 END) CONSULTA ...
FROM TABELA
WHERE ...



GOSTEI 0
Magnus@

Magnus@

16/10/2006

obrigado vou testar!
Valeu a ajuda!


GOSTEI 0
Magnus@

Magnus@

16/10/2006

Então neste meu caso ele dá erro de Missing right parenthesis
faço assim

SELECT ASSOCIADO,
(CASE TIPO = ´TERAPIA´ THEN VALOR ELSE 0 END) TERAPIA,
(CASE TIPO = ´EXAME´ THEN VALOR ELSE 0 END) EXAME,
(CASE TIPO = ´CONSULTA´ THEN VALOR ELSE 0 END) CONSULTA
FROM tb_sinistro


sabes me dizer oque faço de errado?


GOSTEI 0
Magnus@

Magnus@

16/10/2006

Fiz de uma outra maneira
só para deixar registrado para quem um dia chegar a precisar
Utilizei o Decode ORALCE

select CARTEIRINHA,decode (tipo,´CONSULTA_ELETIVAS´,valor) as CONSULTA_ELETIVAS,
decode (tipo,´TERAPIA´,valor) as TERAPIA,
decode (tipo,´DEMAIS PROCEDIMENTOS´,valor) as DEMAIS_PROCEDIMENTOS,
decode (tipo,´EXAMES´,valor) as EXAMES,
decode (tipo,´INTERNACAO´,valor) as INTERNACAO,
decode (tipo,´CONSULTA_EMERGENCIA´,valor) as CONSULTA_EMERGENCIA
from tb_MONITORAMENTO

Obrigado pela força motta


GOSTEI 0
Motta

Motta

16/10/2006

SELECT ASSOCIADO,
(CASE when TIPO = ´TERAPIA´ THEN VALOR ELSE 0 END) TERAPIA,
(CASE when TIPO = ´EXAME´ THEN VALOR ELSE 0 END) EXAME,
(CASE when TIPO = ´CONSULTA´ THEN VALOR ELSE 0 END) CONSULTA
FROM tb_sinistro


GOSTEI 0
POSTAR