pessoal;
tenho a seguinte query que funciona:
SELECT distinct c.id_conta, c.nome_fornecedor, c.nome_produto, tp.nome_tipo_pagamento,
c.valor_total, c.qtd_parcelas, c.valor_parcelas,
(select his.valor_restante from historicorecebimentocontas his
where c.id_conta = his.id_conta order by his.dt_pagto desc limit 1) as valor_restante
FROM contaspagar c
inner join tipospagamentos tp on tp.id_tipo_pagamento = c.id_tipo_pagamento
left join historicorecebimentocontas h on h.id_conta = c.id_conta
e na coluna valor_restante é exibido da seguinte maneira:
valor_restante
0.00
null
null
devido a registros que não possuem ligação entre as tabelas historicorecebimentocontas e contaspagar.
e quando apresentar null eu quero exibir a coluna c.valor_total.
Alguém teria alguma sugestão ?
Obrigado.
Já tentou assim???
SELECT distinct c.id_conta, c.nome_fornecedor, c.nome_produto, tp.nome_tipo_pagamento,
c.valor_total, c.qtd_parcelas, c.valor_parcelas,
(select ISNULL(his.valor_restante, c.valor_total) from historicorecebimentocontas his
where c.id_conta = his.id_conta order by his.dt_pagto desc limit 1) as valor_restante
FROM contaspagar c
inner join tipospagamentos tp on tp.id_tipo_pagamento = c.id_tipo_pagamento
left join historicorecebimentocontas h on h.id_conta = c.id_conta
Abraços…
Deu certo não !!!
o mysql acusa erro no comando ISNULL.
ahhhh… é MySQL, desculpa, este que passei é SQL Server
para o MySQL faz assim
SELECT distinct c.id_conta, c.nome_fornecedor, c.nome_produto, tp.nome_tipo_pagamento,
c.valor_total, c.qtd_parcelas, c.valor_parcelas,
(select IFNULL(his.valor_restante, c.valor_total) from historicorecebimentocontas his
where c.id_conta = his.id_conta order by his.dt_pagto desc limit 1) as valor_restante
FROM contaspagar c
inner join tipospagamentos tp on tp.id_tipo_pagamento = c.id_tipo_pagamento
left join historicorecebimentocontas h on h.id_conta = c.id_conta
Resolvido.
Obrigado.
Obs: Me desculpe pela falta de informação.