Fórum Duvida em pesquisa... #46599

10/09/2004

0

Caros amigos estou com o seguinte problema.

Tenho um banco de dados com a tabela abaixo:

CREATE TABLE LOGRADOURO
(
CodLogradouro Integer NOT NULL,
Logradouro VarChar(70),
CodBairroInicial Integer,
CodBairroFinal Integer,
Cep VarChar(10),
NrInicial Integer,
NrFinal Integer,


PRIMARY KEY (CodLogradouro)
);

Esta tabela e de enderecos, bem tem ruas que sao grandes demais e passam por varios
bairros, e com isso a mesma rua tem varios ceps diferentes ao longo de sua extensao,
e o que eu preciso e o seguinte, preciso que ele pega o nome da rua e o nr que eu especifiquei,
localiza a rua e se a rua tiver o campo ´NrInicial´ e ´NrFinal´ preenchido alem dele achar a rua,
ele deve procurar entre as ruas dentro de que faixa a casa esta.

Exemplo:

Digamos que eu more na Avenida Paulista, em Sao Paulo/SP, no Nr 1200. Ai eu coloco em um Edit o endereco
e em outro o nr que eu moro, ele vai achar a avenida paulista, so que ela e dividida em 3 ´pedaços´ com
numero de ceps diferentes:
´1 registro ´Pedaço´ = ´NrIncial=0´ ao ´NrFinal=500´ Cep=380001´
´2 registro ´Pedaço´ = ´NrIncial=501´ ao ´NrFinal=1200´ Cep=380002´
´3 registro ´Pedaço´ = ´NrIncial=1201´ ao ´NrFinal=99999´ Cep=380002´

Alguem sabe como posso resolver isso?

Atenciosamente

Luiz Claudio V. Santos


Luiz.claudio.vieira

Luiz.claudio.vieira

Responder

Posts

10/09/2004

Rodolpho123

Tente assim:
select Logradouro, Cep, NrInicial, NrFinal From Logradouro
Where
Logradouro Like ´sua_rua¬´  ==> ´´ Isto vai procurar o resultado mais parecido com o texto digitado´´
and
NrInicial is Not Null
and
NrFinal Is Not Null
and
´seu_numero´ >= NrInicial
and
´seu_numero´ <= NrFinal
Order By Logradouro



Responder

Gostei + 0

14/09/2004

Luiz.claudio.vieira

Este codigo deu certo para uma rua que tenha a os campos ´NrInicial´ e ´NrFinal´ preenchido, se eu digitar um que nao tem, pq a rua e pequena, ele nao traz nada, fica em branco, eu preciso que ele veja se a rua tem ou nao algum dos campos ´NrInicial´ e ´NrFinal´ preenchido. Como faço isso?

Um abraço a todos!


Responder

Gostei + 0

14/09/2004

Rodolpho123

Qual é o BD que vc usa?


Responder

Gostei + 0

15/09/2004

Luiz.claudio.vieira

Uso o Firebird 1.5


Responder

Gostei + 0

15/09/2004

Vinicius2k

Colega,

Tente desta forma... creio que vai ter o retorno que deseja...
select
    *L.LOGRADOURO,
    L.CEP
from
    LOGRADOURO L
where
    (L.LOGRADOURO like ´¬nome_da_rua_informada¬´) and
    (
      (L.NRINICIAL is null) and 
      (L.NRFINAL is null) or
      (´numero_informado´ between L.NRINICIAL and L.NRFINAL)
    )
order by
    L.LOGRADOURO


T+


Responder

Gostei + 0

16/09/2004

Luiz.claudio.vieira

Deu Certinho Vina, valeu!


Responder

Gostei + 0

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

Aceitar