Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

berkowitz

Paginação de dados via query

Recommended Posts

Fala galera! Firme?

To com um problema aki faz um bom tempo e não consigo resolver de forma alguma!!!! Ta OSSSOOOOOO!!! uhauhahuhuA

 

Seguinte: To tentando fazer uma paginação de dados no SQL Server. Ela tem que me retornar de 20 em 20 registros (por exemplo).

Eu consegui fazer, mas quando insiro qualquer parâmetro de busca, aí não rola mais! Alguém sabe o motivo? http://forum.imasters.com.br/public/style_emoticons/default/upset.gif

 

Assim ela funciona:

SELECT TOP 20	idFuncionario,prontuario,nome,areaFROM	funcionariosWHERE	idFuncionario NOT IN (SELECT TOP 0 idFuncionario FROM funcionarios)
Assim não:

SELECT TOP 20	idFuncionario,prontuario,nome,areaFROM	funcionariosWHERE	nome LIKE '%jose%' AND idFuncionario NOT IN (SELECT TOP 0 idFuncionario FROM funcionarios)
Sendo mais claro:

Das duas formas funciona. O que acontece é que quando insiro uma cláusula WHERE, ele sempre trás os 20 primeiros! Não importa a quantidade que eu coloque no 2º SELECT TOP.

 

ALguém me dá um help por favor ae galera! :rolleyes:

 

ABRAX!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sim.... eu já tentei as duas formas!

Eu uso o SQL 2005, e a PROC pra ele (a que tem o ROW_NUMBER()) não funciona! Da um erro de que essa função não existe! Tem que habilitar ela de alguma forma? Não sei...

 

Bom... a PROC para o 2000 funcionou, porém dá o mesmo erro que eu disse antes! É só eu jogar um WHERE q não funciona mais...

Só que assim.... não sei se estou fazendo errado! Eu passo minha query todinha via parâmetro! Fica assim:

EXECUTE paginaDados 0,20,'SELECT prontuario,nome,area FROM funcionarios'

Funciona! Só da meleca na hora de passar o WHERE! assim:

EXECUTE paginaDados 0,20,'SELECT prontuario,nome,area FROM funcionarios WHERE nome LIKE ''%rafael%'''

 

Valew!!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Galera, alguém pode me ajudar por favor?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fala galera! Firme?

Bom...... CONSEGUI RESOLVER!!!!!!!!!!! http://forum.imasters.com.br/public/style_emoticons/default/clap.gif

O que precisei fazer foi só colocar a cláusula WHERE também no 2º SELECT! Ficou assim:

 

SELECT TOP 20	idFuncionario,prontuario,nome,areaFROM	funcionariosWHERE	nome LIKE '%jose%' AND idFuncionario NOT IN (SELECT TOP 40 idFuncionario FROM funcionarios WHERE nome LIKE '%jose%')

Valew ae!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.