Mais uma ajudinha em SQL

Delphi

05/01/2005

Olá pessoal, sei que devo estar enchendo o saco de voces, mas preciso de mais uma ajudinha em uma sql!

Tenho um banco de dados com mais de 7000 registros, quero um select que eu pege somente os primeiros 1500! e de preferencia que o numero (1500) seja passado como parametro!


Como faco isso!?

desde ja agradeco

[]s


Titanius

Titanius

Curtidas 0

Respostas

Gandalf.nho

Gandalf.nho

05/01/2005

Qual o banco de dados que você usa? Cada banco de dados tem um método diferente.


GOSTEI 0
Macario

Macario

05/01/2005

Voce quer quais dados?

Tipo por codigo (ID) de 1 a 1500?

ou os 1500 primeiros registros?

Tem varias maneiras de se obter os dados, especifique um pouco mais.


GOSTEI 0
Titanius

Titanius

05/01/2005

Foi mal pessoal!

Uso SQL Server, e queria na verdade pegar um limite, tipo 1500 apartir de 1, ou apartir de 2574, entederam?


[]s


GOSTEI 0
Macario

Macario

05/01/2005

O que voce quer é limitar o retorno da sua instrução?

Se for use a propriedade do ClientDataSet PacketRecord, indicando nela qual o total de registros que quer por vez.


GOSTEI 0
Titanius

Titanius

05/01/2005

Amigo, nao teria como fazer isso numa instrucao SQL nao ?

[]s


GOSTEI 0
Macario

Macario

05/01/2005

Por exemplo:

Estrutura da tabela Exemplo.

Codigo
Nome
Telefone

E que o codigo seja o ID da sua tabela

Usando comando SQL direto

Select * from Exemplo
Where codigo <= ´1500´
Order by Codigo


Via Delphi

procedure TForm1.Button1Click(Sender: TObject);
begin
   SQLQuery1.Close;
   with SQLQuery1 do
     begin
       SQL.Clear;
       SQL.Add(´Select * from Exemplo´);
       SQL.Add(´Where Codigo <= :Aqui_e_o_valor_do_Parametro´);
       SQL.Add(´Order by Codigo´);
       Params.ParamByName(´Aqui_e_o_valor_do_Parametro´).AsInteger := StrToInt(edtCodigo.text);
     end;
   SQLQuery1.Open
end;


Espero ter ajudado qualquer coisa.....ja sabe


GOSTEI 0
Emerson Nascimento

Emerson Nascimento

05/01/2005

[b:221da2d3ab][color=darkblue:221da2d3ab]no SQL Server é assim:[/color:221da2d3ab][/b:221da2d3ab]
select top lista de campos from tabela

exemplificando:

select top 100 id, numerodopedido, valordopedido, cliente from pedidos
order by valordopedido desc

trará os 100 maiores pedidos, ordenados do maior para o menor


[b:221da2d3ab][color=darkblue:221da2d3ab]no Firebird é assim:[/color:221da2d3ab][/b:221da2d3ab]
select first lista de campos from tabela

exemplificando:

select first 100 id, numerodopedido, valordopedido, cliente from pedidos
order by valordopedido desc



[b:221da2d3ab][color=darkblue:221da2d3ab]no MySQL é assim:[/color:221da2d3ab][/b:221da2d3ab]
select lista de campos from tabela
limit

exemplificando:

select id, numerodopedido, valordopedido, cliente from pedidos
order by valordopedido desc
limit 100


GOSTEI 0
Titanius

Titanius

05/01/2005

Valeu emerson.en, era isso mesmo que eu queria!

Valeu a TODOS que participaram! obrigado mesmo!


[]s


GOSTEI 0
POSTAR