Apresentar em uma linha valores de duas linha

Firebird

19/11/2007

Bom dia,
Primeiramente desculpas de ja estiver algo no forum sobre isso, mas andei pesquisando e não encontrei.
O meu problema é o seguinte,
tenha uma tabela, vamos chamar ela de tabela1. Nessa tabela tenho os seguintes campos Nome, gasto e valor

Nome tipo_de_gasto valor
Luiz Compra 30,00
Luiz Emprestou 40,00

Agora o meu problema, preciso que os valores de compra e emprestou estejam numa unica linha, por exemplo

Nome valor1 valor2 total
Luiz 30,00 40,00 70,00

Agredeço desde ja a ajuda


Jsrodrigo

Jsrodrigo

Curtidas 0

Respostas

Gandalf.nho

Gandalf.nho

19/11/2007

Não sei qual versão de IB/FB você está usando, mas se suportar o CASE, tente assim:

SELECT Nome, SUM((CASE WHEN gasto = ´Compra´ THEN 1 ELSE 0 END) * Valor) AS valor1, SUM((CASE WHEN gasto = ´Emprestou´ THEN 1 ELSE 0 END) * Valor) AS valor2, SUM(valor) AS total FROM tabela1
GROUP BY Nome



GOSTEI 0
Jsrodrigo

Jsrodrigo

19/11/2007

Me falaram por case tambem mas acabei fazendo umas alterações nos inner join que vinha usando e acabou resolvendo meu problema.

Obrigado pela ajuda! :D

Assunto resolvido


GOSTEI 0
POSTAR