Estou precisando fazer a seguinte consulta, tenho uma tabelas saídas nesta tabela tem a coluna saidvalortotal e saidcodcliente(que referencia a tabela cliente), preciso fazer uma consulta que traga o valor total de todas as notas emitdas de todos os clientes.
Exemplo:
Cliente n°27 tem 3 notas no valor de 100 reais, preciso que a consulta traga a soma das 3 notas fiscais e o nome do cliente(o nome do cliente fica na tabela cliente).
Consulta que comecei a fazer:
select clientes.clienome,saidas.saidvalornota
(select sum(saidvalornota) from saidas ) FROM CLIENTES
order by clientes.clienome;
select c.clienome, sum(s.saidvalornota)
from clientes c inner join saidas s on s.saidcodcliente = c.codclient -- não sei se nome deste campo está correto
group by c.clienome
order by c.clienome;
Atenção que se tiveres dois clientes com o mesmo nome vai agrupar como sendo um só. Nesse caso, aconselho a acrescentar o id no select
select s.saidcodcliente, c.clienome, sum(s.saidvalornota)
from clientes c inner join saidas s on s.saidcodcliente = c.codclient
group by s.saidcodcliente, c.clienome
order by c.clienome;
#1 Obter todos os clientes da tabela de clientes e ter uma subquery para os totais
select c.clienome, (select sum(s.saidvalornota) from saidas s where s.saidcodcliente = c.codclient) as soma
from clientes c
order by c.clienome
#2 Obter os agrupamentos da tabela de saidas e ter uma subquery para o nome do cliente
select s.saidcodcliente, (select c.clienome from clientes c where s.saidcodcliente = c.codclient) as nome, sum(s.saidvalornota)
from saidas s
group by s.saidcodcliente