Duvidas na Função sum do Mysql

Boa noite pessoal,estou criando um banco de dados para estudar,o banco é o seguinte,tem a tabela Aluno,tabela Telefone e a tabela Conta_lanchonete,estou usando esse comando para retornar o seguinte resultado:
select a.nome as Nome_do_aluno , c.nome_produto as Nome_do_produto ,preco as Preco_Un from aluno a inner join conta_lanchonete c;

tb1

porem preciso retornar o mesmo registro porem com um campo a mais exibindo a soma de todos os itens comprados,porem só aparece um único registro,a soma esta correta,mas preciso que apareça todos os registros,estou usando o comando:

select a.nome as Nome_do_aluno , c.nome_produto as Nome_do_produto ,preco as Preco_Un ,sum(preco) as Valor_total from aluno a inner join conta_lanchonete c;

resultado:
tb1

pesquise sobre group by

Bom dia , Vou dar uma estudada a respeito,mas a principio você sabe a query que vai funcionar ? ,estou te pedindo isso porque preciso de uma certa urgência para um projeto da faculdade!

Obrigado ,até logo!

Está estranho, porque você precisa definir se é um agrupamento por alguma coluna, não dá para fazer assim do jeito que você está querendo… (talvez com Stored Procedure, mas, não acho que seja necessário) …

Explique melhor, seja objetivo.

a query que vc postou te atende, por isso te disse pra pesquisar sobre group by, qualquer campo que não vai estar no SUM precisa estar agrupado…

select 
     a.nome as Nome_do_aluno , 
     c.nome_produto as Nome_do_produto, 
     preco as   Preco_Un,
     sum(preco) 
from aluno a 
inner join conta_lanchonete c 
group by a.nome, c.nome_produto, preco;

A unica coisa que vc precisa “amarrar” é esse trecho:

from aluno a 
inner join conta_lanchonete c 

Que falta o ON para definir o relacionamento entre as duas tabelas…

Pedir em cima da hora não vai resolver nem acelerar nada, erro seu ter deixado para mais tarde…

1 curtida

Obrigado vou testar aqui,Boa noite!