subselect para mostrar um somatório da diferença
eu tenho a tabela de vendas e pagamentos realizados, podendo ser pago uma parte inicial e outra posteriormente
queria ver se tem como pegar o total da diferença q falta receber de cada pedido
com este select abaixo me traz a diferença de cada pedido, mas queria ver se tem como trazer o somatório desta diferença para evitar usar while no delphi
select (sum(p.valor) - vd.total_venda) as diferenca , sum(p.valor) as pago, p.cod_pedido, vd.total_venda from pagamentos p
inner join venda_orcamento vd on vd.cod_venda_orcamento = p.cod_pedido
inner join condicaopagamento fp on fp.cod_cond_pagamento = vd.cod_forma_pagamento
where vd.cod_cliente = 144 group by p.cod_pedido, vd.total_venda
having sum(p.valor) - vd.total_venda < 0
imagino se colocasse o calculo da diferença em um select interno a este poderia dar certo. Mas tento e não consigo
desde já agradeço
queria ver se tem como pegar o total da diferença q falta receber de cada pedido
com este select abaixo me traz a diferença de cada pedido, mas queria ver se tem como trazer o somatório desta diferença para evitar usar while no delphi
select (sum(p.valor) - vd.total_venda) as diferenca , sum(p.valor) as pago, p.cod_pedido, vd.total_venda from pagamentos p
inner join venda_orcamento vd on vd.cod_venda_orcamento = p.cod_pedido
inner join condicaopagamento fp on fp.cod_cond_pagamento = vd.cod_forma_pagamento
where vd.cod_cliente = 144 group by p.cod_pedido, vd.total_venda
having sum(p.valor) - vd.total_venda < 0
imagino se colocasse o calculo da diferença em um select interno a este poderia dar certo. Mas tento e não consigo
desde já agradeço
Cristiane
Curtidas 0
Melhor post
Marisiana Battistella
18/06/2015
Errei o código... me desculpe, não conferi como tinha postado...
Faltou informar a cláusula from..
Faltou informar a cláusula from..
select SUM(result.diferenca) as diferenca from ( select (sum(p.valor) - vd.total_venda) as diferenca, sum(p.valor) as pago, p.cod_pedido, vd.total_venda from pagamentos p inner join venda_orcamento vd on vd.cod_venda_orcamento = p.cod_pedido inner join condicaopagamento fp on fp.cod_cond_pagamento = vd.cod_forma_pagamento where vd.cod_cliente = 144 group by p.cod_pedido, vd.total_venda having sum(p.valor) - vd.total_venda < 0 ) result
GOSTEI 1
Mais Respostas
Isaac Jose
18/06/2015
Bom dia Cristiane. nao entendi bem o que vc quer.
se puder coloque o calculo e o resultado obtido hoje e como vc deseja que ele fique.
abraços.
se puder coloque o calculo e o resultado obtido hoje e como vc deseja que ele fique.
abraços.
GOSTEI 0
Marisiana Battistella
18/06/2015
Seria isso Cristiane?
select SUM(result.diferenca) as diferenca ( select (sum(p.valor) - vd.total_venda) as diferenca, sum(p.valor) as pago, p.cod_pedido, vd.total_venda from pagamentos p inner join venda_orcamento vd on vd.cod_venda_orcamento = p.cod_pedido inner join condicaopagamento fp on fp.cod_cond_pagamento = vd.cod_forma_pagamento where vd.cod_cliente = 144 group by p.cod_pedido, vd.total_venda having sum(p.valor) - vd.total_venda < 0 ) result
GOSTEI 0
Cristiane
18/06/2015
o cálculo da diferença está no sql: sum(p.valor) - vd.total_venda) as diferenca
com este select o resultado fica assim:
diferença pago cod_venda total_venda
-1 14 1 15
-20 30 2 50
-30 10 3 40
queria q ficasse assim:
diferenca
-51
sendo o -51 o somatório da coluna diferença
com este select o resultado fica assim:
diferença pago cod_venda total_venda
-1 14 1 15
-20 30 2 50
-30 10 3 40
queria q ficasse assim:
diferenca
-51
sendo o -51 o somatório da coluna diferença
GOSTEI 0
Cristiane
18/06/2015
Marisiana, fiz o teste mas da erro no result, parece q não existe essa função se for no meu caso. uso o firebird, ibexpert
GOSTEI 0
Cristiane
18/06/2015
isso mesmo, deu certinho valeu Marisiana
GOSTEI 0
Cristiane
18/06/2015
isso mesmo, deu certinho valeu Marisiana
GOSTEI 0
Alex Lekao
18/06/2015
acompanhando.
GOSTEI 0
Marisiana Battistella
18/06/2015
Por nada Cristiane!
GOSTEI 0
Alex Lekao
18/06/2015
cheguei atrasado.
kkkkkkkkkkkkk
kkkkkkkkkkkkk
GOSTEI 0
Marisiana Battistella
18/06/2015
hahahaha... Antes tarde do que nunca Alex!! =D
GOSTEI 0
Alex Lekao
18/06/2015
kkkkkkkk
vdd...
mas tem erro nao.
na proxima eu acerto.
rsrsr
vdd...
mas tem erro nao.
na proxima eu acerto.
rsrsr
GOSTEI 0
Marisiana Battistella
18/06/2015
Isso ai... =D
O que importa é que a intenção era de participar!!
O que importa é que a intenção era de participar!!
GOSTEI 0
Alex Lekao
18/06/2015
rsrsr...
Pois eh.
mesmo que não tenho participado, só esporadicamente, as vezes eu tento. rsrs
Pois eh.
mesmo que não tenho participado, só esporadicamente, as vezes eu tento. rsrs
GOSTEI 0