[RESOLVIDO] select + sum()

Boa noite.
Estou tentando fazer um comando de select para mostrar o cliente e o valor total de todas as compras para isso estou multiplicando a quantidade de itens que ele comprou pelo valor do produto e somando o resultado caso o cliente tenha várias ocorrências, já que o mesmo cliente pode realizar várias compras. O problema é que o código está somando o valor de todos os clientes.

A tabela venda importa o id do cliente e do produto:

[code]create table cliente (
id_cliente smallint unsigned auto_increment,
nome varchar(40),
endereco char(100),
telefone char(13),
cidade char(30),
primary key (id_cliente)
);

create table produto (
id_produto smallint unsigned auto_increment,
nome varchar(40),
preco real,
quantidade int,
primary key (id_produto)
);

create table venda (
id_venda smallint unsigned auto_increment,
id_cliente smallint unsigned,
id_produto smallint unsigned,
id_vendedor smallint unsigned,
quantidade_itens int,
numero_parcelas int,
data_venda timestamp default current_timestamp,
primary key (id_venda),
foreign key (id_cliente)
references cliente (id_cliente),
foreign key (id_produto)
references produto (id_produto),
foreign key (id_vendedor)
references vendedor (id_vendedor)
);[/code]A tabela de venda possui os seguintes dados:

Faço o comando:select c.nome, sum(p.preco * v.quantidade_itens) from cliente c, venda v, produto p where c.id_cliente = v.id_cliente and p.id_produto = v.id_produto;Supondo que o produto de código 1 têm valor 10, e que o cliente A possui código 1 e o B código 2 queria retornar uma lista de resultado com os valores:
– Resultado esperado
cliente A, 50
cliente B, 20

O que eu preciso mudar no código?

Tens de usar GROUP BY.

select c.nome, sum(p.preco * v.quantidade_itens) from cliente c, venda v, produto p where c.id_cliente = v.id_cliente and p.id_produto = v.id_produto group by c.nome;

Nota que para garantires que realmente somas por cliente e não juntas dois clientes diferentes com o mesmo nome em um só deves agrupar por id e não por nome.

Muito obrigado!
Sabia que faltava alguma coisa bem simples, mas não conseguia identificar agrupei pelo código e deu certo.
Abraços.