[Resolvido]Sum com inner join (Mysql)

Pessoal, preciso fazer um select para me trazer a quantidade de produtos vendidos de acordo com a data, fiz um inner com 3 tabelas (produtos,itens_venda,venda), ta funcionando tranquilo mas estou com problema para realizar a soma das quantidades, ele deve me trazer:

produto | qnt_vendida

1 | 1

3 | 53

mas esta retornando assim:

produto | qnt_vendida

1 | 371

3 | 7

meu sql esta assim:

select i.produto,i.valor_unit, sum(i.unit),i.valor_total, p.nome,v.data_cadastro as produtos from itens_venda as i INNER JOIN produtos as p inner join vendas as v ON i.produto = p.codigo_interno where v.data_cadastro='2012-03-22' group by i.produto

faz mais de anos que não faço query, pelo que eu entendi, tenta isso aqui (passa pra sua forma de tabela):

select p.id_do_produto, sum(v.quantidade_vendida) 
from vendas as v 
inner join itens_venda as iv on v.id_da_venda = iv.id_da_venda 
inner join produtos as p on iv.id_do_produto = p.id_do_produto 
group by p.id_do_produto 

a “qnt” é referente a tabela “itens_venda”,ja tentei fazer dessa forma mas ele não ta somando direito, fica mostrando um valor bem acima do que existe no banco

vai no banco e roda o comando nas tres tabelas, e coloca a estrutura aqui pra gente:

SHOW CREATE TABLE nome_da_tabela;

itens_venda:

`codigo` BIGINT(20) NOT NULL AUTO_INCREMENT, `venda` BIGINT(20) NULL DEFAULT NULL, `produto` BIGINT(20) NULL DEFAULT NULL, `unidade` INT(11) NULL DEFAULT NULL, `valor_unit` DOUBLE(15,2) NULL DEFAULT NULL, `unit` INT(11) NULL DEFAULT NULL, `valor_total` DOUBLE(15,2) NULL DEFAULT NULL,

vendas:

`codigo` BIGINT(20) NOT NULL AUTO_INCREMENT, `codigo_interno` BIGINT(20) NULL DEFAULT NULL, `data_cadastro` DATE NULL DEFAULT NULL,

produtos:

`codigo` BIGINT(20) NOT NULL AUTO_INCREMENT, `codigo_interno` BIGINT(11) NULL DEFAULT NULL, `data_cadastro` DATE NULL DEFAULT NULL, `nome` VARCHAR(150) NULL DEFAULT NULL,

Esses são os campos que preciso manipular, não coloquei o resto para o post não ficar muito grande.

Pela query que passou no post inicial, a tabela produtos está sem a clausula ON com a tabela itens_venda.

++

tenta:

    select p.codigo, sum(iv.unit)
    from vendas as v   
    inner join itens_venda as iv on v.codigo = iv.venda 
    inner join produtos as p on iv.produto = p.codigo   
    group by p.codigo

Cara, muito obrigado, funcionou direitinho, valeu mesmo! :smiley: