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))
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
Curtir tópico
+ 0
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.
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.
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
Clique aqui para fazer login e interagir na Comunidade :)