Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 01-04-2008
Paulao Paulao is offline
Miembro
 
Registrado: sep 2003
Ubicación: Rua D 31 Casa 1 - Inhoaíba - Rio de Janeiro - RJ - Brasil
Posts: 637
Poder: 21
Paulao Va por buen camino
Query no sustrae en el resultado

En la query abajxo, necesito hacer con que en el SUM principal, 1º SELECT, haga una subtración del DEVOLUCAO.DEV y no está acontecendo. Será que son los relacionamentos?

Cita:
SELECT
F_PAGTO.TP_F_PAG,
CASE
WHEN
F_PAGTO.TP_F_PAG = 1 THEN 'À VISTA'
WHEN
F_PAGTO.TP_F_PAG = 2 THEN 'CARTÃO'
WHEN
F_PAGTO.TP_F_PAG = 3 THEN 'CHEQUE-PRÉ'
WHEN
F_PAGTO.TP_F_PAG = 4 THEN 'OUTRAS VENDAS'
END "FORMA DE PAGAMENTO",
SUM(NF_PAGTO.VL_PAG)-
COALESCE(DEVOLUCAO.DEV,0) "VALOR"
FROM
TB_SAC_NF_PAGAMENTO NF_PAGTO
INNER JOIN
TB_SAC_FORMA_PAGTO F_PAGTO
ON(NF_PAGTO.CD_F_PAG = F_PAGTO.CD_F_PAG)
INNER JOIN
TB_SAC_NF_CAPEADOR CAP
ON(CAP.NU_NF = NF_PAGTO.NU_NF AND
CAP.NU_CX = NF_PAGTO.NU_CX AND
CAP.SR_NF = NF_PAGTO.SR_NF)
LEFT JOIN

(SELECT
CP.NU_NF,
SUM(CP.VL_BRUTO + CP.VL_DESC_ACR)"DEV"
FROM
TB_SAC_NF_CAPEADOR CP
WHERE CP.SR_NF = 'E2' AND CP.ST_CANC = 0 AND
CP.DT_ENT BETWEEN '29-MAR-2008' AND '29-MAR-2008'
GROUP BY CP.NU_NF) "DEVOLUCAO"
ON(DEVOLUCAO.NU_NF = CAP.NU_NF)

WHERE
CAP.ST_CANC = 0 AND
((CAP.SR_NF = 'D2') OR ((CAP.SR_NF = 'B2') AND
(CAP.CD_CFOP = 6102)))

GROUP BY
F_PAGTO.TP_F_PAG,
DEVOLUCAO.DEV

ORDER BY F_PAGTO.TP_F_PAG
Responder Con Cita
  #2  
Antiguo 02-04-2008
Paulao Paulao is offline
Miembro
 
Registrado: sep 2003
Ubicación: Rua D 31 Casa 1 - Inhoaíba - Rio de Janeiro - RJ - Brasil
Posts: 637
Poder: 21
Paulao Va por buen camino
Resolvi quebrando en blocos asi:

Cita:
SELECT DISTINCT
TB_SAC_FORMA_PAGTO.TP_F_PAG,
COALESCE((VENDAS.VL_PAG - DEVOLUCOES.VL_PAG),0) VL_PAG
FROM
TB_SAC_FORMA_PAGTO
LEFT JOIN
(SELECT
TB_SAC_FORMA_PAGTO.TP_F_PAG,
COALESCE(SUM(TB_SAC_NF_PAGAMENTO.VL_PAG),0) VL_PAG
FROM
TB_SAC_NF_CAPEADOR
INNER JOIN TB_SAC_NF_PAGAMENTO ON (TB_SAC_NF_CAPEADOR.NU_NF = TB_SAC_NF_PAGAMENTO.NU_NF)
AND (TB_SAC_NF_CAPEADOR.NU_CX = TB_SAC_NF_PAGAMENTO.NU_CX)
AND (TB_SAC_NF_CAPEADOR.SR_NF = TB_SAC_NF_PAGAMENTO.SR_NF)
INNER JOIN TB_SAC_FORMA_PAGTO ON (TB_SAC_NF_PAGAMENTO.CD_F_PAG = TB_SAC_FORMA_PAGTO.CD_F_PAG)
WHERE
(TB_SAC_NF_CAPEADOR.ST_CANC = 0) AND
((TB_SAC_NF_CAPEADOR.SR_NF = 'D2') OR
((TB_SAC_NF_CAPEADOR.SR_NF = 'B2') AND (TB_SAC_NF_CAPEADOR.CD_CFOP = 6102)))
GROUP BY
TB_SAC_FORMA_PAGTO.TP_F_PAG) VENDAS
ON (TB_SAC_FORMA_PAGTO.TP_F_PAG = VENDAS.TP_F_PAG)
LEFT JOIN
(SELECT
TB_SAC_FORMA_PAGTO.TP_F_PAG,
COALESCE(SUM(TB_SAC_NF_PAGAMENTO.VL_PAG),0) VL_PAG
FROM
TB_SAC_NF_CAPEADOR
INNER JOIN TB_SAC_NF_PAGAMENTO ON (TB_SAC_NF_CAPEADOR.NU_NF = TB_SAC_NF_PAGAMENTO.NU_NF)
AND (TB_SAC_NF_CAPEADOR.NU_CX = TB_SAC_NF_PAGAMENTO.NU_CX)
AND (TB_SAC_NF_CAPEADOR.SR_NF = TB_SAC_NF_PAGAMENTO.SR_NF)
INNER JOIN TB_SAC_FORMA_PAGTO ON (TB_SAC_NF_PAGAMENTO.CD_F_PAG = TB_SAC_FORMA_PAGTO.CD_F_PAG)
WHERE
(TB_SAC_NF_CAPEADOR.ST_CANC = 0) AND
(TB_SAC_NF_CAPEADOR.SR_NF = 'E2')
GROUP BY
TB_SAC_FORMA_PAGTO.TP_F_PAG) DEVOLUCOES
ON (TB_SAC_FORMA_PAGTO.TP_F_PAG = DEVOLUCOES.TP_F_PAG)
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Resultado de un query en un QRDBLabel Yun-i Varios 6 05-03-2008 19:24:28
Duda obteniendo resultado de un query Markoz Firebird e Interbase 4 28-04-2007 21:49:29
Resultado de un query en Delphi MRang14 SQL 3 18-11-2004 00:49:57
Usar el resultado de un Query ramonibk MS SQL Server 3 02-09-2004 13:54:00
resultado de un query en un campo memo vetustas Conexión con bases de datos 1 15-12-2003 23:47:05


La franja horaria es GMT +2. Ahora son las 10:31:32.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi