COMPUTE

06/01/2004

0

Ola COlegas,

Quero apenas o valor da SUM do COMPUTE, como despresar os valores do select ou como usar ou mostrar este resultado do compute em uma query?


SELECT SUM(C.VR_LANCAMENTO)*((TITULO.VR_PAGO/TITULO.VR_PAGAR)-1)
FROM TITULO WITH(NOLOCK)
, RECIBO
, IMOVEL
, LANCAMENTO_RECIBO AS C
WHERE TITULO.NR_TITULO = RECIBO.NR_TITULO
AND RECIBO.CD_IMOVEL = IMOVEL.CD_IMOVEL
AND TITULO.DT_PAGAMENTO >= ´20030801 00:00:00.000´
AND TITULO.DT_PAGAMENTO <= ´20030831 00:00:00.000´
AND TITULO.ST_TITULO = ´P´
AND TITULO.NT_TITULO = ´R´
AND C.CD_IMOVEL = RECIBO.CD_IMOVEL
AND C.DT_REFERENCIA = RECIBO.DT_REFERENCIA
AND C.NR_RECIBO = RECIBO.NR_RECIBO
AND TITULO.CD_EMPRESA = 8392.0
AND TITULO.CD_CATEGORIA = 265
AND TITULO.VR_PAGO < (SELECT SUM(ISNULL(VR_LANCAMENTO,0))
FROM RECIBO AS A, LANCAMENTO_RECIBO AS B
WHERE TITULO.NR_TITULO = A.NR_TITULO AND
B.CD_IMOVEL = A.CD_IMOVEL AND
B.DT_REFERENCIA = A.DT_REFERENCIA AND
B.NR_RECIBO = A.NR_RECIBO)
GROUP BY RECIBO.CD_IMOVEL, RECIBO.DT_REFERENCIA, RECIBO.NR_RECIBO,
TITULO.VR_PAGO, TITULO.VR_PAGAR, TITULO.CD_EMPRESA
COMPUTE SUM(SUM(C.VR_LANCAMENTO)*((TITULO.VR_PAGO/TITULO.VR_PAGAR)-1))


Edilsoneto

Edilsoneto

Responder

Posts

14/01/2004

Fabricio_saldanha

edilsoneto,

não sei se eu entendi direito mas se você quer apenas o resultado do sum do compute você não precissa de um compute sua query poderia ser

SELECT SUM(SUM(C.VR_LANCAMENTO)*((TITULO.VR_PAGO/TITULO.VR_PAGAR)-1))
FROM TITULO WITH(NOLOCK)
, RECIBO
, IMOVEL
, LANCAMENTO_RECIBO AS C
WHERE TITULO.NR_TITULO = RECIBO.NR_TITULO
AND RECIBO.CD_IMOVEL = IMOVEL.CD_IMOVEL
AND TITULO.DT_PAGAMENTO >= ´20030801 00:00:00.000´
AND TITULO.DT_PAGAMENTO <= ´20030831 00:00:00.000´
AND TITULO.ST_TITULO = ´P´
AND TITULO.NT_TITULO = ´R´
AND C.CD_IMOVEL = RECIBO.CD_IMOVEL
AND C.DT_REFERENCIA = RECIBO.DT_REFERENCIA
AND C.NR_RECIBO = RECIBO.NR_RECIBO
AND TITULO.CD_EMPRESA = 8392.0
AND TITULO.CD_CATEGORIA = 265
AND TITULO.VR_PAGO < (SELECT SUM(ISNULL(VR_LANCAMENTO,0))
FROM RECIBO AS A, LANCAMENTO_RECIBO AS B
WHERE TITULO.NR_TITULO = A.NR_TITULO AND
B.CD_IMOVEL = A.CD_IMOVEL AND
B.DT_REFERENCIA = A.DT_REFERENCIA AND
B.NR_RECIBO = A.NR_RECIBO)


Realmente não entendi sua pergunta acho que esta é a reposta correta.


Responder

18/02/2004

Aroldo Zanela

Colega,

Por não ser uma notação ANSI, não utilize COMPUTE ou COMPUTE BY para recuperar valor em sua aplicação. É muito útil para testes e relatórios simples no Query Analyzer.


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