Fórum Select * From tabela com Sum(). É possível? #151221

02/04/2003

0

Em uma rotina minha, eu preciso filtar um dado com a cláusula Where. até aí tudo bem. Junto eu presiso agregar os valores eu uma instrução Sum() e dividir pelo dolar do dia e fechar para não mais poder ser alterado. Como associar select * from tabela com sum()?


Paulo

Paulo

Responder

Posts

02/04/2003

Okama

Select Sum(campo) from tabela where <condição>


Responder

Gostei + 0

02/04/2003

Aroldo Zanela

Em uma rotina minha, eu preciso filtar um dado com a cláusula Where. até aí tudo bem. Junto eu presiso agregar os valores eu uma instrução Sum() e dividir pelo dolar do dia e fechar para não mais poder ser alterado. Como associar select * from tabela com sum()?


Selecionar colunas e função de agregação ao mesmo tempo só usando a cláusula Group By. No entato, quando você especifica *, teria que colocar todas as colunas no group by e isso não tem sentido.
Neste caso, o ideal seria uma Stored Procedure para primeiro obter o total e depois selecionar os dados e já fazer os devidos tratamentos que você deseja.
Se o seu banco de dados não tiver suporte para SPs, então deverá fazer no mínimo duas Querys, uma para obter o total e outra para selecionar os dados.
Se é que entendi o seu problema.


Responder

Gostei + 0

02/04/2003

Andersonc

Você pode criar o campo como um subselect:

select *, ((select sum(campox) from tabela2 where campochave1 = t1.campochave1) * Valor) as Totalx
from Tabela1 t1

Com este select vc selecina todos os campos da tabela1 e multiplica o sometório do campox de tabela 2 por um valor
ex:
tabela1 pode ser produto
tabela2 pode item
campochave1 pode ser codproduto.


Responder

Gostei + 0

02/04/2003

Andersonc

Você pode criar o campo como um subselect:

select *, ((select sum(campox) from tabela2 where campochave1 = t1.campochave1) * Valor) as Totalx
from Tabela1 t1

Com este select vc selecina todos os campos da tabela1 e multiplica o sometório do campox de tabela 2 por um valor
ex:
tabela1 pode ser produto
tabela2 pode item
campochave1 pode ser codproduto.


Responder

Gostei + 0

02/04/2003

Aroldo Zanela

Em uma rotina minha, eu preciso filtar um dado com a cláusula Where. até aí tudo bem. Junto eu presiso agregar os valores eu uma instrução Sum() e dividir pelo dolar do dia e fechar para não mais poder ser alterado. [b:676d2a1b90]Como associar select * from tabela com sum()?[/b:676d2a1b90]


Bem lembrado pelo colega o uso de subquery:

select *, ((select sum(valor) TOTAL from TABELA
where COLUNA_RELACIONAMENTO = T1.COLUNA_RELACIONAMENTO
))
from TABELA T1
where COLUNA=<CONDICAO>


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar