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 1
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
como resolver?