LeoPessoa Posted October 28, 2011 Report Share Posted October 28, 2011 Bom dia pessoal!Eu uso um select de uma tabela que contem varios vencimentos.Esse select me retorna o vencimento, codigo do cliente e valor da parcela.Cada vencimento desse, existe uma quantidade diferente. Por exemplo:Vencimento 25/10/11, existem 5 mil clientes;Vencimento 01/11/11, existem 3.500 vencimentos.No select, ele me retorna todos esses clientes (é um relatório analítico). Mas na verdade, estou querendo somente mil de cada vencimento.Existe alguma instrução pra eu limitar a quantidade de clientes que vai me retornar?Ao invés dos 5 mil do vencimento 25/10, ele me retorne apenas os 1000.E assim com todos os vencimentos.Ressalto que o relatorio é analitico e uso um determinado intervalo de vencimentos, ou seja, saem varios vencimentos no resultado do select.Agradeço bastante se puderem me ajuda! Quote Link to comment Share on other sites More sharing options...
0 Vinicius Schuh Posted October 28, 2011 Report Share Posted October 28, 2011 (edited) Boa Tarde Leo.Você pode usar o comando SELECT TOP n - ( n é o numero de registros a retornar) antes da instrução SELECT. A sintaxe seria: SELECT TOP 20 nome, endereco, email FROM tabela ORDER BY nomeIra retornar apenas 20 registros.Espero ter ajudado. Até + Edited October 29, 2011 by Vinicius Schuh Quote Link to comment Share on other sites More sharing options...
0 LeoPessoa Posted October 31, 2011 Author Report Share Posted October 31, 2011 Já tentei isso!Mas esse comando retorna a quantidade geral.Eu quero que retorne a quantide por cada vencimento!Obrigado. Quote Link to comment Share on other sites More sharing options...
0 fulvio Posted November 1, 2011 Report Share Posted November 1, 2011 Bom dia Leo, Desta forma não tem jeito. O que poderá fazer é carregar todo o recordeset e depois filtrar no próprio relatório / fonte, para conseguir o resultado desejado. Quote Link to comment Share on other sites More sharing options...
0 rodrigo_fabiam Posted November 4, 2011 Report Share Posted November 4, 2011 Pessoal,Ele não poderia usar uma SUB QUERY, e nessa subquery, ele colocaria o TOP 1000? Quote Link to comment Share on other sites More sharing options...
0 fulvio Posted November 7, 2011 Report Share Posted November 7, 2011 Podia até utilizar subquery, mas aí você teria q saber quais os vencimentos... Se tivesse 5 vencimentos, teriam q ser 5 subquerys com union. Quote Link to comment Share on other sites More sharing options...
0 LeoPessoa Posted November 7, 2011 Author Report Share Posted November 7, 2011 Fulvio, tem bem mais que 5 vencimentos!Você poderiam me dar um exemplo dessas subquerys ?Abaixo segue a query que estou usando:SELECT a.cod_cli as CodCli, a.DataAte as Vencimento, a.num_contrato as Contrato, b.cic as CPF, a.ValorPrest as VrVencido, a.ValorTotal as RiscoTotal FROM dbo.titulos a, dbo.cliente bWHERE a.cod_empcli = b.cod_empCliIAND a.cod_cli = b.cod_cliAND a.cod_empcli = '18'AND a.flag = 'A'AND a.DataAte BETWEEN '2011/09/05' AND '2011/10/25'ORDER BY a.ValorTotal DESC Quote Link to comment Share on other sites More sharing options...
0 fulvio Posted November 7, 2011 Report Share Posted November 7, 2011 Boa tarde Leo, você teria q identificar as datas. Sendo assim teria que dar um select distinct nas datas de vencimentos. Pegaria as datas que retornasse e colocaria no seu select, dando o TOP XXX que quisesse. Utilizaria o UNION para cada data de vencimento.... Para fazer desta forma seria muito complicado e além disto a sua performance não ficaria boa. O que poderia fazer é implementar a idéia q dei no post acima: filtrar o recordset no fonte. você o carregaria por inteiro. Depois disto iria fazendo um filtro para cada data, com um contador para identificar quantos resultados deseja. Quote Link to comment Share on other sites More sharing options...
Question
LeoPessoa
Bom dia pessoal!
Eu uso um select de uma tabela que contem varios vencimentos.
Esse select me retorna o vencimento, codigo do cliente e valor da parcela.
Cada vencimento desse, existe uma quantidade diferente. Por exemplo:
Vencimento 25/10/11, existem 5 mil clientes;
Vencimento 01/11/11, existem 3.500 vencimentos.
No select, ele me retorna todos esses clientes (é um relatório analítico). Mas na verdade, estou querendo somente mil de cada vencimento.
Existe alguma instrução pra eu limitar a quantidade de clientes que vai me retornar?
Ao invés dos 5 mil do vencimento 25/10, ele me retorne apenas os 1000.
E assim com todos os vencimentos.
Ressalto que o relatorio é analitico e uso um determinado intervalo de vencimentos, ou seja, saem varios vencimentos no resultado do select.
Agradeço bastante se puderem me ajuda!
Link to comment
Share on other sites
7 answers to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.