Query - trazer somente os 10 primeiros registros encontrados
Qual comando eu uso dentro de uma query para q me traga somente os 10 primeiro resgistros encontrados, minha guery está assim agora:
Select Clientes.Nome,Sum(Pedidos.Geral) as Total
From Clientes,Pedidos
Where Pedidos.CodCliente = Clientes.Codigo and
Pedidos.DataPed Between :VarDataI and :VarDataF
Group By Clientes.Nome
Select Clientes.Nome,Sum(Pedidos.Geral) as Total
From Clientes,Pedidos
Where Pedidos.CodCliente = Clientes.Codigo and
Pedidos.DataPed Between :VarDataI and :VarDataF
Group By Clientes.Nome
Janete
Curtidas 1
Melhor post
Gandalf.nho
11/11/2004
Qual o banco de dados? Nem todos os bancos tem esse recurso.
GOSTEI 1
Mais Respostas
Fer_nanda
11/11/2004
use select top
Select top 10 Clientes.Nome,Sum(Pedidos.Geral) as Total
From Clientes,Pedidos
Where Pedidos.CodCliente = Clientes.Codigo and
Pedidos.DataPed Between :VarDataI and :VarDataF
Group By Clientes.Nome
Até
Select top 10 Clientes.Nome,Sum(Pedidos.Geral) as Total
From Clientes,Pedidos
Where Pedidos.CodCliente = Clientes.Codigo and
Pedidos.DataPed Between :VarDataI and :VarDataF
Group By Clientes.Nome
Até
GOSTEI 1
Fernando
11/11/2004
se vc estiver usando o firebird use
select first 10 cliente.codigo,cliente.razao_social from cliente
select first 10 cliente.codigo,cliente.razao_social from cliente
GOSTEI 1
Gurc
11/11/2004
Só complementando, se você for ligar isso a um clientdataset poderá usar a propriedade PacketRecords. Deste modo, se você a configurar como 10, serão trazidos apenas 10 registros. Quando o décimo primeiro for solicitado serão trazidos mais dez. Isso acontece através do ClientDataSet, ligado a um DataSetProvider e um DataSet qualquer como TSqlQuery.
Se quiser mais detalhes estamos aí.
Até mais,
Gustavo Royer Chaurais
Se quiser mais detalhes estamos aí.
Até mais,
Gustavo Royer Chaurais
GOSTEI 1
Janete
11/11/2004
Olá, estou usando paradox e não deu certo ainda, testei tb com o top e não deu
GOSTEI 1
Placido
11/11/2004
Utilizo o firebird e executo esta query no ibexpert e dá erro, preciso selecionar apenas o primeiro registro, existe algo errado?
select first 1 pdi_datamovto
from proddiario
where prod_codigo = 1
Grato
Plácido
select first 1 pdi_datamovto
from proddiario
where prod_codigo = 1
Grato
Plácido
GOSTEI 1
Gandalf.nho
11/11/2004
O FIRST só funciona no FB 1.5, provavelmente você tem o FB 1.03
GOSTEI 1
Janete
11/11/2004
sobe
GOSTEI 1
Gurc
11/11/2004
Já tentaram usar o limit?
Exemplo:
em muitos bancos isso funciona.
Gustavo Royer Chaurais
Exemplo:
select * from tabela limit 1, 5
em muitos bancos isso funciona.
Gustavo Royer Chaurais
GOSTEI 1
Gandalf.nho
11/11/2004
Acho que paradox não tem esse recurso de limitar o nº de registros.
GOSTEI 1
Massuda
11/11/2004
Janete,
O [b:fb5df12287]Local SQL[/b:fb5df12287] usado pelo o Paradox é bem limitado; a definição de SELECT usado por ele é:
portanto não tem como fazer o que você quer de modo simples.
O [b:fb5df12287]Local SQL[/b:fb5df12287] usado pelo o Paradox é bem limitado; a definição de SELECT usado por ele é:
SELECT [DISTINCT] * | column_list FROM table_reference [WHERE predicates] [ORDER BY order_list] [GROUP BY group_list] [HAVING having_condition]
portanto não tem como fazer o que você quer de modo simples.
GOSTEI 1
Placido
11/11/2004
Galera utilizo o firebird versão 1.5.
O comando first não está funcionando.
Grato
Plácido
O comando first não está funcionando.
Grato
Plácido
GOSTEI 1
Paulo_amorim
11/11/2004
Olá
Ele dá erro na query ou não traz corretamente?
Até+
Ele dá erro na query ou não traz corretamente?
Até+
GOSTEI 1
Placido
11/11/2004
Dá erro na query linha 1 char 13.
Grato
Plácido
Grato
Plácido
GOSTEI 1
Massuda
11/11/2004
Dá erro na query linha 1 char 13.
Isso não ajuda muito... post aqui seu script SQL se ele não for muito grande ou pelo menos a linha 1 do seu script.
GOSTEI 1
Gandalf.nho
11/11/2004
A sintaxe está correta. O nome do campo está correto? Outra coisa, a base de dados está no formato do FB 1.5 ou é uma tabela Interbase não convertida?
GOSTEI 1
Janete
11/11/2004
Olá Pessoal, ainda não consegui resolver meu problema, uso paradox, é possível fazer um filtro conforme minha pergunta inicial (abaixo):
Qual comando eu uso dentro de uma query para q me traga somente os 10 primeiro resgistros encontrados, minha guery está assim agora:
Select Clientes.Nome,Sum(Pedidos.Geral) as Total
From Clientes,Pedidos
Where Pedidos.CodCliente = Clientes.Codigo and
Pedidos.DataPed Between :VarDataI and :VarDataF
Group By Clientes.Nome
Qual comando eu uso dentro de uma query para q me traga somente os 10 primeiro resgistros encontrados, minha guery está assim agora:
Select Clientes.Nome,Sum(Pedidos.Geral) as Total
From Clientes,Pedidos
Where Pedidos.CodCliente = Clientes.Codigo and
Pedidos.DataPed Between :VarDataI and :VarDataF
Group By Clientes.Nome
GOSTEI 1
Gandalf.nho
11/11/2004
Conforme respondido, o Paradox não tem suporte para isso via SQL. Diretamente na aplicação poderia ser feito via código. Uma sugestão seria ClientDataSet com RecordPackets setado em 10...
GOSTEI 1
Placido
11/11/2004
Utilizo o firebird e executo esta query no ibexpert e dá erro na lina1 coluna 13, o que está errado?
select first 1 pdi_datamovto
from proddiario
where prod_codigo = 1
Grato
Plácido
select first 1 pdi_datamovto
from proddiario
where prod_codigo = 1
Grato
Plácido
GOSTEI 1
Gandalf.nho
11/11/2004
A sintaxe está certa, o nome do campo na primeira linha está correto?
GOSTEI 0
Massuda
11/11/2004
Placido,
Minha sugestão é que você revise sua instalação do FB, em particular checar se as versões do fbclient.dll e do gds32.dll conferem com a do servidor (v.1.5 como você mesmo informou).
Como o erro é indicado na coluna 13, isso sugere que o token ´first´ não está sendo reconhecido e a única forma disso ocorrer é você estar usando um engine anterior à versão 1.5 do FB.
Um teste adicional serial você remover o ´first 1´ da sua query e ver se ela executa sem problemas.
Minha sugestão é que você revise sua instalação do FB, em particular checar se as versões do fbclient.dll e do gds32.dll conferem com a do servidor (v.1.5 como você mesmo informou).
Como o erro é indicado na coluna 13, isso sugere que o token ´first´ não está sendo reconhecido e a única forma disso ocorrer é você estar usando um engine anterior à versão 1.5 do FB.
Um teste adicional serial você remover o ´first 1´ da sua query e ver se ela executa sem problemas.
GOSTEI 1
Massuda
11/11/2004
Uma outra possibilidade... sua query
não deveria especificar um critério de ordenação via cláusula ´ORDER BY´?
Não vejo como selecionar o primeiro item da query se não existir um critério de ordenação.
select first 1 pdi_datamovto from proddiario where prod_codigo = 1
não deveria especificar um critério de ordenação via cláusula ´ORDER BY´?
Não vejo como selecionar o primeiro item da query se não existir um critério de ordenação.
GOSTEI 1