Olá Pessoal,
Estou executando a sentença abaixo:
SELECT setor,SUM(total) AS total
FROM
(
SELECT 'PV' AS setor,
SUM(pagvalorprincipal) AS total
FROM pagamentos
WHERE pagdtpagamento IS NULL AND pagdtvencimento < data_atual
GROUP BY setor
UNION
SELECT 'PH' AS setor,
SUM(pagvalorprincipal) AS total
FROM pagamentos
WHERE pagdtpagamento IS NULL AND pagdtvencimento = data_atual
GROUP BY setor
UNION
SELECT 'PF' AS setor,
SUM(pagvalorprincipal) AS total
FROM pagamentos
WHERE pagdtpagamento IS NULL AND pagdtvencimento > data_atual
GROUP BY setor
) AS setores
GROUP BY setor
que me retorna tudo OK.
"PV";2505.61
"PH";106.65
"PF";4054.20
Quando não há dados em PH retorna:
"PV";2505.61
"PF";4054.20
O que preciso, é que quando não houver dados, por exemplo em PH, retornar
assim:
"PV";2505.61
"PH";0.00
"PF";4054.20
Estou tentando com COALESCE, mas ainda não consegui.
Alguém tem alguma dica ?
Att,
Paulo.
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral