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

Ajuda para fazer um Select


JWoord

Pergunta

Bom dia.

É possível usar uma soma (valorTotal) de um campo do Select dentro do mesmo Select?

Tentei isso e não funciona:

SELECT nome, SUM(valor) as valorTotal, qtd, valorTotal/qtd AS valorUnitario FROM tabela1

Não gostaria de utilizer:

SELECT nome, SUM(valor) as valorTotal, qtd, SUM(valor)/qtd AS valorUnitario FROM tabela1

Ou seja, não gostaria de utilizer SUM(valor) 2 vezes.

Obrigado

Jairo

Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0

Supondo que o campo nome possua uma chave unica ou seja seu campo primary key,

então faça assim:

SELECT nome, valorTotal, qtd, valortotal/qtd AS valorUnitario FROM tabela1 t1
inner join (select nome, sum(valor) AS valorTotal FROM tabela1 group by nome) t2 ON t2.nome = t1.nome
Link para o comentário
Compartilhar em outros sites

  • 0

Oi Jairo,

Então só usando JOIN(Select...)

Você precisa do join, pois a solução de seu problema precisa que ele obtenha um total para que possa gerar cálculos para cada linha.

Isso não diminui o desenpenho do Select. Ou seja, ele não ficaria mais lento do que usar (se fosse possível, claro) do jeito que eu estava tentando?

O jeito que você estava tentando não dá certo. Não há como calcular sem saber o total.

O join só ficará mais lento se você não usar índices.

Muito obrigado pela ajuda.

Não por isso.
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,3k
×
×
  • Criar Novo...