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

Thiagopedro

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


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar