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

Que tal ter acesso a um e-book gratuito que vai te ajudar muito nesse momento decisivo?

Ver ebook

Recomendado pra quem ainda não iniciou o estudos.

Eu quero
Ver ebook

Recomendado para quem está passando por dificuldades nessa etapa inicial

Eu quero

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

Aceitar