Harold Postado Novembro 13, 2007 Denunciar Share Postado Novembro 13, 2007 Tenho os seguintes dados:Tabela1data descri valor 01/01/07 descrição1 100.0003/01/07 descrição2 50.0005/01/07 descrição3 30.00Tabela2data descri valor 02/02/07 descrição1 100.0204/02/07 descrição2 100.0206/02/07 descrição3 100.02Pergunta: Como faço um Select ou Stored Procedure que me retorne o saldo no seguinte extrato:data descri valor saldo01/01/07 descrição1 100.00 100.0002/02/07 descrição1 100.02 200.0203/01/07 descrição2 50.00 250.0204/02/07 descrição2 100.02 350.0405/01/07 descrição3 30.00 380.0406/02/07 descrição3 100.02 480.06 Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 .Andreia. Postado Novembro 13, 2007 Denunciar Share Postado Novembro 13, 2007 Isso ai é um inner join. De uma olhada em http://scriptbrasil.com.br/forum/index.php?showtopic=108732 que voce conseguirá entender Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 kuroi Postado Novembro 13, 2007 Denunciar Share Postado Novembro 13, 2007 Isso ai é um inner join. De uma olhada em http://scriptbrasil.com.br/forum/index.php?showtopic=108732 que voce conseguirá entenderopa andreia, nesse caso acho q não é JOIN não, nesse caso tem q ser UNION. tipo:Select * From Tabela1 UNION ALL Select * From Tabela2só não ta me vindo na cabeca agora algum metodo pra somar acumuladamente como no exemplo q ele passou. assim q eu descobrir edito aqui. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest Pericles Sevegnani Postado Novembro 14, 2007 Denunciar Share Postado Novembro 14, 2007 ola Harold,eu resolveria seu problema com uma Stored Procedure, que juntasse o resultado das 2 tabelas em uma 3a. tabela (temporaria).Voce faz isto, criando uma tabela com a mesma estrutura (Codigo, Descricao, Valor e Saldo).Depois, executa um Insert p/ as 2 tabelas, jogando tudo nesta 3a tabela.Ai, voce roda um cursor em cima dos registros da 3a. tabela, e a cada linha, salva o valor anterior, e soma com o valor atual, e executa um Update na linha atual p/ atualizar o saldo da linha.Alguns problemas que voce talvez encontre:- ordenacao dos registros: de alguma maneira, garanta que voce sempre consiga o resultado na mesma ordem (pela data ou codigo do registro etc.);- como fazer um cursor: consulta o Books Online ou Google;- como atualizar a linha atual do cursor: procure ref. sobre o comando WHERE CURRENT OF;Outra solucao, é fazer o UNION destas tabelas, e na aplicacao front-end fazer o calculo da coluna do saldo.abracos,Péricles Sevegnanihttp://blogsqlserver.blogspot.com/ Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Harold Postado Novembro 14, 2007 Autor Denunciar Share Postado Novembro 14, 2007 Isso ai é um inner join. De uma olhada em http://scriptbrasil.com.br/forum/index.php?showtopic=108732 que voce conseguirá entenderopa andreia, nesse caso acho q não é JOIN não, nesse caso tem q ser UNION. tipo:Select * From Tabela1 UNION ALL Select * From Tabela2só não ta me vindo na cabeca agora algum metodo pra somar acumuladamente como no exemplo q ele passou. assim q eu descobrir edito aqui.Usar o union all me parece a melhor saída mesmo, só o que me falta é a forma de montar saldo sem criar uma outra tabela, mesmo que temporaria.Estou tentando montar algo assim, não sei como funciona, depois que descobrir como e se funciona coloco o "union all" com a tabela2. Até agora não deu muito certoDeclare @SaldoSet @Saldo = 0Begin select t1.data, t1.descri t1.valor, "Saldo"= @Saldo = @Saldo + (t1) from tabela1 t1End Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest Visitante Postado Março 13, 2008 Denunciar Share Postado Março 13, 2008 Crie o union dentro de um outro select no from... e faça as suas contas no externoSelect <campos desejados incluindo suas contas > from (Select * From Tabela1 UNION ALL Select * From Tabela2 )E apartir daki você usa o Where ou o Groupe By.. Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Harold
Tenho os seguintes dados:
Tabela1
data descri valor
01/01/07 descrição1 100.00
03/01/07 descrição2 50.00
05/01/07 descrição3 30.00
Tabela2
data descri valor
02/02/07 descrição1 100.02
04/02/07 descrição2 100.02
06/02/07 descrição3 100.02
Pergunta: Como faço um Select ou Stored Procedure que me retorne o saldo no seguinte extrato:
data descri valor saldo
01/01/07 descrição1 100.00 100.00
02/02/07 descrição1 100.02 200.02
03/01/07 descrição2 50.00 250.02
04/02/07 descrição2 100.02 350.04
05/01/07 descrição3 30.00 380.04
06/02/07 descrição3 100.02 480.06
Link para o comentário
Compartilhar em outros sites
5 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.