Ajuda em Pesquisa SQL

Delphi

04/08/2004

Pessoal...

Preciso fazer uma consulta em um campo string. Até aí tudo bem, só que preciso da quantidade de registros que não atendem a esta consulta e que estão posicionados anteriormente ao resultado desta consulta. Calma, calma... tá parecendo muito complicado, mas vou exemplificar...

Suponhamos que temos uma tabela com dois campos:
CODTAB integer PK
DESTAB varchar(20)

O conteúdo desta tabela:

CODTAB - DESTAB
3 - ANDRE
5 - CARLOS
1 - FABIO
2 - JOSE
4 - MARIO
6 - PEDRO


Como podem ver, a tabela está ordenada por ordem de DESTAB... Quando executo a seguinte instrução:

SELECT * FROM TABELA WHERE DESTAB LIKE ´M¬´


É retornado apenas o registro 4 - MARIO... O que preciso é saber quantos registros existem antes deste registro que esta consulta me retornou...

Testei e queria que existisse algum meio de fazer algo similar a isto:

SELECT COUNT(*) FROM TABELA WHERE DESTAB < ´M¬´


Será que existe alguma solução para isto???


Ffsombra

Ffsombra

Curtidas 0

Respostas

Welington

Welington

04/08/2004

Faça como no código abaixo:

SELECT COUNT(*) FROM TABELA WHERE NOT (DESTAB LIKE ´M¬´)

Eu testei este código e funcionou


GOSTEI 0
Motta

Motta

04/08/2004

o not like não atende pois pega os maiores que M ... pqrs...


SELECT *
FROM TABELA WHERE NOME < ´MARIO´

ACHO QUE FUNCIONA, PORÉM DEPENDE DA FORMA COMO O BD TRATA STRINGS, DEMANDA UMA PESQUISA NO ´MANUEL´


GOSTEI 0
Emerson Nascimento

Emerson Nascimento

04/08/2004

tente assim:

select count(destab) from TABELA where destab < ´M´

a condição da busca é o mesmo conteúdo que você solicitou na pesquisa princípal sem o curinga (¬)


GOSTEI 0
Ffsombra

Ffsombra

04/08/2004

Exato emerson.en!!! Tinha testado antes e não tinha funcionado, mas tava cometendo um erro idiota, agora tá tudo ok!!!

Obrigado Motta e Welington!!!


GOSTEI 0
POSTAR