Ir para conteúdo
Fórum Script Brasil
  • 0

duvida com sum sql


etspaz

Pergunta

ola pessoal beleza,

to com uma duvida em uma consulta sql, vejam:

select usuario.nome,(vendas.totalgeral)maiorvenda,itemvenda.preco_custo custo,
itemvenda.vl_unitario venda,(itemvenda.vl_unitario) - (itemvenda.preco_custo)lucroBruto
from usuario, vendas,itemvenda
where vendas.usuario_id = usuario.usuario_id
and vendas.codvenda = itemvenda.codvenda
and vendas.totalgeral like '%1902%'
group by usuario.nome,itemvenda.vl_unitario,itemvenda.preco_custo,vendas.totalgeral
este é o resultado:
nome codvenda totalgeral preo_custo vl_untitario lucro_bruto
AMANDA 183512   1902,55       6,36      12,5         6,14
AMANDA 183512   1902,55     260,02      350         89,98
AMANDA 183512   1902,55     470         750,05     280,05
AMANDA 183512   1902,55     563         790        227

bem esta é uma vvenda da amanda, só que eu tentei somar o preço de custo de todos os itens pra saber o preço de custo geral desta venda com sum, e também o lucro bruto total. eu tenho que exibir num relatório deste jeito:

amanda 1111111 555555 232333 555555 323222

não to sabendo exibir esta venda uma unoca vez com os valores somados, quando tento somar, da resultados nada a ver.

Editado por Micheus
Adicionado o delimitador de código [code] [/code] e identado o código para melhor visualização. Lembre-se de utilizá-los também. ;-)
Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

ola, eu dei uma arrumada na query, agora acho que ta mais facil de entender e também ta quase como eu quero, vejam:

select usuario.nome,
max(vendas.totalgeral)maior_venda,
sum(itemvenda.qtde)ITENS,
sum(itemvenda.preco_custo * itemvenda.qtde)custo,
max(vendas.totalgeral) - sum(itemvenda.qtde * itemvenda.preco_custo)lucro,
((max(vendas.totalgeral) - sum(itemvenda.qtde * itemvenda.preco_custo))* 100)/
(sum(itemvenda.qtde * itemvenda.preco_custo))percentual_lucro

from usuario,vendas, itemvenda
where vendas.usuario_id = usuario.usuario_id
and itemvenda.codvenda = vendas.codvenda
and usuario.usuario_id = 46
and vendas.codvenda = 182324
and vendas.dtvenda between '01.11.2007' and '30.11.2007'
group by usuario.nome

assim ela retorna tudo direito, mas só que eu estou indicando o codvenda (and vendas.codvenda = 182324) e no sistema só terá como parametros na pesquisa o usuario_id e o periodo(data) para filtrar.

quando tiro o codvenda os calculos do lucro, percentual, itens vêm com valores bem acima do que tem que ser.

parece-me que tá misturando daos de outros registros.

penso que deve estar faltando algo nos joins, mas não achei o q.

vlw.

Link para o comentário
Compartilhar em outros sites

  • 0

etspaz, neste momento, sua dúvida diz mais respeito à Banco de Dados do que à Delphi.

Assim, gostaria que você informasse qual o banco de dados está utilizando para mover este tópico para a área de Banco de Dados - será mais uma opção de auxílio.

Abraços

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...