totalização de um campo em todas as linhas
tenho uma tabela o seguinte
nome insc vlr
antonio 1 10
paulo 2 50
claudio 3 40
queria fazer uma pesquisa tipo assim
SELECT NOME, INSC, VLR, SUM(VLR) FROM CADASTRO
So que eu queria q o resultado saisse asii
nome insc vlr sum(vlr)
antonio 1 10 100
paulo 2 50 100
claudio 3 40 100
ao inves de sair assim
nome insc vlr sum(vlr)
antonio 1 10 10
paulo 2 50 60
claudio 3 40 100
alguem pode me ajudar em como fazer esse select?
nome insc vlr
antonio 1 10
paulo 2 50
claudio 3 40
queria fazer uma pesquisa tipo assim
SELECT NOME, INSC, VLR, SUM(VLR) FROM CADASTRO
So que eu queria q o resultado saisse asii
nome insc vlr sum(vlr)
antonio 1 10 100
paulo 2 50 100
claudio 3 40 100
ao inves de sair assim
nome insc vlr sum(vlr)
antonio 1 10 10
paulo 2 50 60
claudio 3 40 100
alguem pode me ajudar em como fazer esse select?
Romulo Junior
Curtidas 0
Respostas
Joel Rodrigues
30/03/2012
Você precisará fazer um select dentro do outro:
SELECT NOME, INSC, VLR, (SELECT SUM(VLR) FROM CADASTRO) FROM CADASTRO
Boa sorte.
SELECT NOME, INSC, VLR, (SELECT SUM(VLR) FROM CADASTRO) FROM CADASTRO
Boa sorte.
GOSTEI 0
Romulo Junior
30/03/2012
entendi, so que e se tiver algumas clausulas where eu coloco elas no do select principal ou no da totalização
GOSTEI 0
Joel Rodrigues
30/03/2012
Em ambos, pois os filtros serão os mesmos.
GOSTEI 0
Joel Rodrigues
30/03/2012
Exemplo:
No caso, eu filtro os registros onde a coluna NOME contém o texto JOSE.
Boa sorte.
SELECT NOME, INSC, VLR, (SELECT SUM(VLR) FROM CADASTRO WHERE NOME LIKE %JOSE%) FROM CADASTRO WHERE NOME LIKE %JOSE%
No caso, eu filtro os registros onde a coluna NOME contém o texto JOSE.
Boa sorte.
GOSTEI 0
Rafael Henchen
30/03/2012
tenho uma tabela o seguinte
(...)
queria fazer uma pesquisa tipo assim
SELECT NOME, INSC, VLR, SUM(VLR) FROM CADASTRO
(...)
queria fazer uma pesquisa tipo assim
SELECT NOME, INSC, VLR, SUM(VLR) FROM CADASTRO
Ola Romulo,
É só usar a clausula OVER da função de agregação, assim você evita 2 scans na tabela/indice a cada execução
SELECT NOME, INSC, VLR, SUM(VLR) OVER (GROUP BY NULL) AS SOMA_TOTAL FROM CADASTRO WHERE NOME = :VAR_NOME
Att,
Rafael
GOSTEI 0