Fórum problema ao fazer consulta #321137
11/05/2006
0
[color=red:71f002a1fd]Título editado por Massuda
Removido: ´... para os amantes do sql...´[/color:71f002a1fd]
Amigos, venho a pedir uma luz pra vcs.
Vamos ao assunto:
Tenho um relatório que me exibido através de uma consulta sql, o seguinte:
[u:71f002a1fd][b:71f002a1fd]Cliente[/b:71f002a1fd][/u:71f002a1fd] [u:71f002a1fd][b:71f002a1fd]UF[/b:71f002a1fd][/u:71f002a1fd]
Antonio Lima ES
[u:71f002a1fd][b:71f002a1fd]Duplicatas em Aberto[/b:71f002a1fd][/u:71f002a1fd]
01/20 - 01/02/2006
02/20 - 02/03/2006
03/20 - 03/04/2006
04/20 - 04/05/2006
[u:71f002a1fd][b:71f002a1fd]Cliente[/b:71f002a1fd][/u:71f002a1fd] [u:71f002a1fd][b:71f002a1fd]UF[/b:71f002a1fd][/u:71f002a1fd]
Pedro Cardoso ES
[u:71f002a1fd][b:71f002a1fd]Duplicatas em Aberto[/b:71f002a1fd][/u:71f002a1fd]
01/10 - 01/02/2006
02/10 - 02/03/2006
03/10 - 03/04/2006
Este acima é um exemplo do resultado da consulta. Claro que ele exibe muitos outros resultados.
A sql é baseada no exemplo abaixo:
Select c.Nome, c.UF, r.Duplicatas, r.DataVencimento
From Clientes c LEFT OUTER JOIN
Receber r ON
c.Codigo = r.CodCliente
Where r.DataPagto IS NULL
Order By c.Nome, r.DataVencimento
O problema é o seguinte. Tenho que criar uma regra e mesmo criando essa regra tenho que exibir os dados da mesma maneira.
A regra é para exibir clientes com duplicatas a partir da 4ª parcela.
Com essa regra por exemplo o segundo cliente aqui que dei o exemplo não seria exibido no relatório.
Como fazer essa seleção, sem portanto deixar de exibir os dados de cada uma das duplicatas em aberto ?
Thiagopedro
Curtir tópico
+ 0
Responder
Posts
11/05/2006
Jonas_giron
VEJA EU TENHO UM EXEMPLO QUE EU UTILIZO.. DA UMA OLHADA PODE SER QUE TE AJUDE.
// NO BANCO DE DADOS
CREATE VIEW LISTA_PARCELAS(
DESCRICAO,
UF,
NUMERO_PARCELA,
NUM_PARCELAS,
DATA_VENCIMENTO)
AS
SELECT A.DESCRICAO
, A.UF
, B.NUMERO_PARCELA
, COALESCE(COUNT(B.NUMERO_DOCUMENTO),0) AS NUM_PARCELAS
, B.DATA_VENCIMENTO
FROM FORNECEDORES A
LEFT JOIN CONTAS_PAGAR B ON (B.CODIGO_FORNECEDOR = A.CODIGO)
AND B.DATA_ENTRADA IS NULL
GROUP BY A.DESCRICAO
, A.UF
, B.NUMERO_PARCELA
, B.NUMERO_DOCUMENTO
, B.DATA_VENCIMENTO
;
// NO DELPHI, DEPOIS EM UMA QUERY COLOCA ASSIM
SELECT * FROM LISTA_PARCELAS
WHERE NUM_PARCELAS > 4
// NO BANCO DE DADOS
CREATE VIEW LISTA_PARCELAS(
DESCRICAO,
UF,
NUMERO_PARCELA,
NUM_PARCELAS,
DATA_VENCIMENTO)
AS
SELECT A.DESCRICAO
, A.UF
, B.NUMERO_PARCELA
, COALESCE(COUNT(B.NUMERO_DOCUMENTO),0) AS NUM_PARCELAS
, B.DATA_VENCIMENTO
FROM FORNECEDORES A
LEFT JOIN CONTAS_PAGAR B ON (B.CODIGO_FORNECEDOR = A.CODIGO)
AND B.DATA_ENTRADA IS NULL
GROUP BY A.DESCRICAO
, A.UF
, B.NUMERO_PARCELA
, B.NUMERO_DOCUMENTO
, B.DATA_VENCIMENTO
;
// NO DELPHI, DEPOIS EM UMA QUERY COLOCA ASSIM
SELECT * FROM LISTA_PARCELAS
WHERE NUM_PARCELAS > 4
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)