
JeanzinRJ
(usa Debian)
Enviado em 11/06/2019 - 15:40h
Salve, Galera estou com uma dúvida estudando banco de dados e programação.
escrevi a seguinte query:
SELECT data_pg as diaria, SUM(valor_pg) as valor_diario, SUM(valor_despesa) as valor_despesa, (SELECT SUM(valor_pg) as dinheiro FROM pagamento WHERE tipo = 5 AND MONTH(data_pg) = 06 AND YEAR(data_pg) = 2019) as total_dinheiro, (SELECTSUM(valor_pg) as debito FROM pagamento WHERE tipo = 25 AND MONTH(data_pg) = 06 AND YEAR(data_pg) = 2019) as total_debito, (SELECT SUM(valor_pg) as credito FROM pagamento WHERE tipo = 15 AND MONTH(data_pg) = 06 AND YEAR(data_pg) = 2019) astotal_credito FROM pagamento WHERE MONTH(data_pg) = 06 AND YEAR(data_pg) = 2019 GROUP BY diaria ORDER BY `diaria`
resultado:
diaria valor_diario valor_despesa total_dinheiro total_debito total_credito
2019-06-10 818.70 0 288.40 586.95 113.30
2019-06-11 169.95 0 288.40 586.95 113.30
Como podem ver meu objetivo e separar por dia o resultado dos valores divididos por tipo de pagamento.
porém o mesmo mostra a soma total nas subquery.
quando coloco o group by order by dentro das subquerys apresenta a seguinte mensagem de erro: #1242 - Subquery returns more than 1 row