Como Trabalhar com Tabelas Temporarias

10/10/2010

0


Tenho um sistema que possui uma codificação de Contas, onde a cada lançamento é Eu devo colocar o tipo de Conta. Ex. Aluguel, Vale, Despesas, Manutenção, Compras, Impostos.

O sistema em questão é um sistema de Controle de Imobiliaria, onde tenho Contas q Recebo e Contas que Pago.

Eu estou precisando gerar uma tabela, onde no final do Periodo, Eu faça um levantamento do Saldo entre as Contas, de modo que Eu Some Tudo o q Recebi de Aluguel e Tudo o que Paguei de Aluguel Aos proprietários apurando assim o saldo.


As tabelas são.

Cadastro de Contas = TABCONTA (IDCONTA, DESCRICAO_CONTA)

Contas a Receber = CONTAREC (IDLANCTOREC, DATALCTO_RECTO, CODCONTA, VALOR)

Contas a Pagar   = CONTAPAG (IDLANCTOPAG, DATALCTO_PAGTO, CODCONTA,VALOR)


Select IDCONTA,DESCRICAO_CONTA,
(select SUM(R.VALOR) from CONTAREC R where R.CODCONTA= T.IDCONTA) AS ENTRADAS,

(select SUM(R.VALOR) from CONTPAG P where P.CODCONTA= T.IDCONTA) AS SAIDAS,

from TABCONTA T

// So consigo fazer até aqui.

Preciso fazer um filtro onde se uma determinada Conta Não tiver movimentação nem de entrada nem de saida não apareceça

E preciso gerar uma tabela Temporaria.


Desde já agradeço!

Sergio Santos

Sergio Santos

Responder

Posts

11/10/2010

João Vilar

Não sei se percebi bem a sua dúvida     Para criar tabelas temporárias: Create Table #NomeTabela (    Id int,    designacao varchar(100) )     depois a forma de utilizar é igual     Exemplo:   INSERT INTO #NomeTabela (id, Designacao) SELECT id, Designacao FROM tabela (Nolock)     O [#] (1 cardinal)  significa que é uma temporária de sessão, esta tabela só existe enquando a sessão estiver activa.   Se criar a tabela com [##] (2 cardinais) a temporária fica activa enquanto houver sessões activas.     SELECT IDCONTA, DESCRICAO_CONTA, Entradas.Valor, Saidas.Valor
FROM TABCONTA T   LEFT OUTER JOIN (                                 SELECT CODCONTA, SUM(VALOR) Valor                                 FROM CONTAREC                                 GROUP BY CODCONTA                              ) Entradas ON (Entradas.CODCONTA= T.IDCONTA)   LEFT OUTER JOIN (                                 SELECT CODCONTA, SUM(VALOR) Valor                                 FROM CONTPAG P                                 GROUP BY CODCONTA                             ) Saidas ON (Saidas.CODCONTA= T.IDCONTA)   WHERE not Entradas.Valor is null      or not Saidas.Valor is null       Vilarjoaopaulo@gmail.com
Responder

22/10/2010

Sergio Santos

blz. Valeu!
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

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

Aceitar