Fórum Redundância de Informações #57809
01/02/2007
0
Pessoal
Estou querendo mostrar em uma grid as informações de contas a pagar, Sintético( Resumido). Existem mais de um registro lançado para o mesmo fornecedor, mesma data de vencto, mesmo nr docto e mesmo assim, aparece repetido com a sql que eu fiz. O que eu quero é que acumule valores. eu fiz assim:
SELECT SUM(CP.VLPAGAR_CONTAPAGAR) AS VLRPAGAR, SUM(CP.VLPAGO_CONTAPAGAR) AS VLRPAGO,
CF.FAN_CLI_FOR AS FORNECEDOR, CP.DTVENC_CONTAPAGAR as Dt_Vencto, CP.DTQUIT_CONTAPAGAR as Dt_Quitacao
FROM CONTAPAGAR CP
INNER JOIN CLI_FOR CF ON
(CP.COD_CLI_FOR = CF.COD_CLI_FOR)
GROUP BY CP.VLPAGAR_CONTAPAGAR,
CP.VLPAGO_CONTAPAGAR,
CF.FAN_CLI_FOR,
CP.DTVENC_CONTAPAGAR,
CP.DTQUIT_CONTAPAGAR
ORDER BY
CF.FAN_CLI_FOR,
CP.VLPAGAR_CONTAPAGAR,
CP.VLPAGO_CONTAPAGAR,
CP.DTVENC_CONTAPAGAR,
CP.DTQUIT_CONTAPAGAR
Estou usando interbase 6.0 + Delphi 7 + Conexão Dbexpress
Fico no aguardo
Rogério
Estou querendo mostrar em uma grid as informações de contas a pagar, Sintético( Resumido). Existem mais de um registro lançado para o mesmo fornecedor, mesma data de vencto, mesmo nr docto e mesmo assim, aparece repetido com a sql que eu fiz. O que eu quero é que acumule valores. eu fiz assim:
SELECT SUM(CP.VLPAGAR_CONTAPAGAR) AS VLRPAGAR, SUM(CP.VLPAGO_CONTAPAGAR) AS VLRPAGO,
CF.FAN_CLI_FOR AS FORNECEDOR, CP.DTVENC_CONTAPAGAR as Dt_Vencto, CP.DTQUIT_CONTAPAGAR as Dt_Quitacao
FROM CONTAPAGAR CP
INNER JOIN CLI_FOR CF ON
(CP.COD_CLI_FOR = CF.COD_CLI_FOR)
GROUP BY CP.VLPAGAR_CONTAPAGAR,
CP.VLPAGO_CONTAPAGAR,
CF.FAN_CLI_FOR,
CP.DTVENC_CONTAPAGAR,
CP.DTQUIT_CONTAPAGAR
ORDER BY
CF.FAN_CLI_FOR,
CP.VLPAGAR_CONTAPAGAR,
CP.VLPAGO_CONTAPAGAR,
CP.DTVENC_CONTAPAGAR,
CP.DTQUIT_CONTAPAGAR
Estou usando interbase 6.0 + Delphi 7 + Conexão Dbexpress
Fico no aguardo
Rogério
Rogeranalista
Curtir tópico
+ 0
Responder
Posts
01/02/2007
Emerson Nascimento
tente assim:
não ponha no agrupamento os campos usados em funções de agregamento, como SUM(), MIN(), MAX(), etc.... não faz sentido.
SELECT CF.FAN_CLI_FOR AS FORNECEDOR, CP.DTVENC_CONTAPAGAR as Dt_Vencto, CP.DTQUIT_CONTAPAGAR as Dt_Quitacao, SUM(CP.VLPAGAR_CONTAPAGAR) AS VLRPAGAR, SUM(CP.VLPAGO_CONTAPAGAR) AS VLRPAGO FROM CONTAPAGAR CP INNER JOIN CLI_FOR CF ON (CP.COD_CLI_FOR = CF.COD_CLI_FOR) GROUP BY CF.FAN_CLI_FOR, CP.DTVENC_CONTAPAGAR, CP.DTQUIT_CONTAPAGAR ORDER BY CF.FAN_CLI_FOR, CP.DTVENC_CONTAPAGAR, CP.DTQUIT_CONTAPAGAR
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)