SOMAR COM SQL

USUARIO.EXCLUIDOS 12/07/2005 09:49:20
#93574
Tenho uma tabela com a seguinte estrutura
CODIGO VALOR1 VALOR2

Preciso fazer um query que me retorne a soma da coluna VALOR1 de todos os registro existente na tabela, e outra query que subtraia o valor da coluna VALOR2 da coluna VALOR1

WEBMASTER 12/07/2005 11:20:39
#93602
Uma forma é assim:

Dim varValor1, varValor2 as Integer

varValor1 = 0
varValor2 = 0

sql = "SELECT * FROM TABELA"
RS.Open sql, conexao

Do While RS.EOF = False
varValor1 = varValor1 + RS!valor1
varValor2 = varValor2 + RS!valor2
Rs.MoveNext
Loop
RS.Close


Espero ter ajudado.
USUARIO.EXCLUIDOS 12/07/2005 11:38:40
#93609
Resposta escolhida
Para isso basta usar subSQLS,
Imagine:
CODIGO, VALOR1, VALOR2
VER O TOTAL DE VALOR1,
VER O TOTAL DE VALOR2
SUBTRAIR O TOTAL DE VALOR2 PELO TOTAL DO VALOR1 E MOSTRAR O RESULTADO

SQL = " SELECT CODIGO, VALOR1, VALOR2,  (SELECT SUM([VALOR1] FROM TABELA) As SOMAVALOR1, (SELECT SUM([VALOR2] FROM TABELA) As SOMAVALOR2, ([SOMAVALOR2]-[SOMAVALOR1]) As RESULTADO FROM TABELA"


Se quiser fazer o mesmo apenas de alguns registros basta utilizar a cláusula WHERE
SQL = " SELECT CODIGO, VALOR1, VALOR2,  (SELECT SUM([VALOR1] FROM TABELA WHERE CODIGO=1) As SOMAVALOR1, (SELECT SUM([VALOR2] FROM TABELA WHERE CODIGO=1) As SOMAVALOR2, ([SOMAVALOR2]-[SOMAVALOR1]) As RESULTADO FROM TABELA WHERE CODIGO =1"


Espero que tenha entendido...
USUARIO.EXCLUIDOS 13/07/2005 11:16:36
#93867
value, deu certo...
Tópico encerrado , respostas não são mais permitidas