Ajuda em Pesquisa SQL

04/08/2004

0

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

Responder

Posts

04/08/2004

Welington

Faça como no código abaixo:

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

Eu testei este código e funcionou


Responder

04/08/2004

Motta

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´


Responder

05/08/2004

Emerson Nascimento

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 (¬)


Responder

06/08/2004

Ffsombra

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!!!


Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar