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

Como fazer somatoria de itens diferentes em uma mesma coluna?


G.H.C

Pergunta

Tenho uma tabela contendo "quantidade" e outra com o "preço unitario"....preciso realizar a "somatoria" de apenas dois itens desta tabela.... uma possui um item "x" e outra linha com um item "y".... como monto um select para somar as duas....

por exemplo:

select (x.quantidade * y.preco_unitario) from x,y,z where z.item = '10' and z.item = x.item

+

select (x.quantidade * y.preco_unitario) from x,y,z where z.item = '20' and z.item = x.item

como somo os dois e gero um único valor.....???

Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0

Bom dia "Gigabyte"....primeiramente muito obrigado pela ajuda....

mas o código mudou....

preciso de mais uma luz....

A "quantidade" não está na tabela....ele quer um comprar, por exemplo, "5" itens '10' e 7 "itens '20'... ou seja, não posso realizar a somatoria dos campos quantidade e preço unitario....primeiro que a quantidade "não" é um campo da tabela ...é um valor fixo e a pesquisa é em uma tabela só.

Observe o código antigo:

select sum(x.quantidade * y.preco_unitario) as somatoria from x,y,z where z.item IN ('10','20') and z.item = x.item

o novo deveria ser:

select sum((5 * y.preco_unitario) + (7 * y.preco_unitario)) as somatoria from y where y.item IN ('10','20')

e agora????

Link para o comentário
Compartilhar em outros sites

  • 0

Cara.... complicado o negócio!

Precisaria entender a dinâmica geral do código.

Se a parte hardcode do calculo faz a referência direta ao produto, será necessário fazer uma query para cada item e efetuar a soma na código.

Ou cria uma subquery monstro grudada com um union dentro de uma query com a operação de SUM().

mas isso é meio POG

Link para o comentário
Compartilhar em outros sites

  • 0

Oi, 'G.H.C'

Voltando ao início, para poder te responder, observe o código abaixo escrito por você no primeiro post deste tópico:

select (x.quantidade * y.preco_unitario) from x,y,z  where z.item = '10' and z.item = x.item  

+

select (x.quantidade * y.preco_unitario) from x,y,z  where z.item = '20' and z.item = x.item

Observe que você mencionou 3 tabelas, x, y e z.

Você relacionou as tabelas z e x, mas não fez nenhuma ligação com y, o que torna a solução deste problema impossível.

Poderia, por favor, postar o básico da estrutura de cada uma das tabelas informando o que cada uma guarda, assim, como as chaves primárias e estrangeiras, para que possamos estudar uma solução.

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.


  • Estatísticas dos Fóruns

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