SELECT SUM EM COLUNAS DE TABELAS DIFERENTES

GAMISTIK 21/11/2006 17:15:26
#185608
Pessoal, tenho a seguinte dúvida:

Tenho duas tabelas em um banco access: tb_Produto1 e tb_Produto2
Em cada uma delas tenho uma coluna com o nome TotEntrada, como no exemplo abaixo:

tb_Produto1 tb_Produto2
10 20
20 50
-- -- Total
30 + 70 = 100 label1.caption = Total


Eu preciso fazer um SELECT SUM que calcule o total da Coluna TotEntrada de ambas tabelas e some esses totais e me mostre esse total em uma
label, por exemplo.

Já cansei de tanto tentar fazer isso e não consigo, se alguém puder ajudar, desde já agradeço!
USUARIO.EXCLUIDOS 21/11/2006 17:21:45
#185609
Resposta escolhida
SELECT SUM(tb_Produto1.TotEntrada) + SUM(tb_Produto2.TotEntrada) AS Expr1
FROM tb_Produto2 FULL OUTER JOIN
tb_Produto1 ON tb_Produto2.TotEntrada = tb_Produto1.TotEntrada


Testei com SQLServer e deu certo, no Access deve dar também...
GAMISTIK 21/11/2006 18:04:12
#185620
MARCELOHF, é o seguinte, eu coloquei e deu o seguinte erro:

Err.Number = -2147467259
Err.Description = Method 'Open' of object '_RecordSet' failed

Meu Access é o 2003, estou usando ADO.





GAMISTIK 21/11/2006 18:06:26
#185621
MARCELOHF, e se no caso eu trabalhar com nomes de campos diferentes também... tipo, tb_Produto1.Entrada1 e tb_Produto2.Entrada2???? Muda a query ou seria a mesma estrutura???
USUARIO.EXCLUIDOS 21/11/2006 18:06:56
#185622
Coloca aqui o código de como vc está abrindo a consulta.

Vc está usando o objeto ADODC?? Recordset??
GAMISTIK 21/11/2006 18:09:55
#185623
Sim cara, é ADODC q eu to usando!

O código é esse abaixo:

SQL = " Select SUM([tb_DetEntProd.Entrada]) + SUM([tb_CompraProdutos.Quantidade]) as TOTAL from tb_CompraProdutos FULL OUTER JOIN tb_DetEntProd ON tb_CompraProdutos.Quantidade = tb_DetEntProd.Entrada "
USUARIO.EXCLUIDOS 21/11/2006 18:10:19
#185624
Citação:

MARCELOHF, e se no caso eu trabalhar com nomes de campos diferentes também... tipo, tb_Produto1.Entrada1 e tb_Produto2.Entrada2???? Muda a query ou seria a mesma estrutura???



A mesma coisa cara... o que vai mudar é só nome dos campos, sem problemas... vai ficar assim:

SELECT     SUM(tb_Produto1.Entrada1) + SUM(tb_Produto2.Entrada2) AS Total
FROM tb_Produto2 FULL OUTER JOIN
tb_Produto1 ON tb_Produto2.Entrada1 = tb_Produto1.Entrada2

GAMISTIK 21/11/2006 18:15:37
#185625
esse final que vc colocou é assim mesmo ???

tb_Produto2.Entrada1 = tb_Produto1.Entrada2

não seria tb_Produto1.Entrada1 = tb_Produto2.Entrada2 ????
USUARIO.EXCLUIDOS 21/11/2006 18:20:23
#185627
Vc tem razão... eu inverti sem querer...

Cara, em Access agora fiquei em dúvida se funciona, mais deve funcionar sim...
tenta assim:

SQL = " Select SUM([tb_DetEntProd.Entrada]) + SUM([tb_CompraProdutos.Quantidade]) as TOTAL from tb_CompraProdutos FULL JOIN tb_DetEntProd ON tb_CompraProdutos.Quantidade = tb_DetEntProd.Entrada " 

GAMISTIK 21/11/2006 18:23:53
#185628
é cara, acho que em Access não funciona mesmo. Tentei aqui e nada. Continua dando aquele mesmo erro. Eu só não vou encerrar o tópico cara pq to na esperança de que alguém consiga uma solução pra esse meu problema, enquanto isso vou continuar tentando outras coisas... Mas valeu ae pela ajuda cara!
USUARIO.EXCLUIDOS 21/11/2006 19:04:52
#185636
Testei aqui no Access... realmente não funciona...

Tenta assim:

SELECT DISTINCT (SELECT Sum(Entrada) from tb_DetEntProd) + (SELECT Sum(Quantidade) from tb_CompraProdutos) AS Total FROM tb_DetEntProd

Página 1 de 2 [12 registro(s)]
Tópico encerrado , respostas não são mais permitidas