[firebase-br] Problema com select

Pablo Cunha cunhapablo em yahoo.com.br
Seg Ago 7 08:45:57 -03 2006


Vê alguem pode me ajudar, eu tenho esse select que está ai embaixo, é o seguinte, eu tenho na tabela de endereço a descrição de cada endereço, que nada mais é que ele todo escrito. 
Note que o select abaixo está divido em dois selects, o primeiro está utilizando o Like para que assim ele possa me retornar todos os endereços que iniciam com um determinado caractér, e esse determinado caractér é retornado no segundo select, só que esse segundo select tem vezes que ele pode retornar 1 registro ou mais registros, e o que acontece, quando ele retorna 2 registros ele não consegue fazer o select (o conjunto dos dois) porque ele dá a seguinte mensagem: "multiple rows in singleton select" ai eu coloco o First 1 para que ele me retorna apenas 1 registro e ai funciona agora se eu tiro o First 1 ele vai me retornar mais de um registro ai ele dá a mensagem. Resumindo: no primeiro select ele quer pegar todos os que iniciam com a letra que o segundo select retornou, só que se o segundo select retorna mais de 2 registro dá problema. Como eu poderia resolver isso?


Select e3.id_end, e3.nm_descricao_end
from   endereco e3
where  e3.nm_descricao_end like
(SELECT
     first 1 e.NM_DESCRICAO_END
     FROM
        produto_class_produto pcp,
        endereco_class_endereco ece,
        classifica_produto_end cpe,
        endereco e
     WHERE pcp.id_class_produto = cpe.id_class_produto
     and   cpe.id_class_end = ece.id_class_end
     and   ece.id_end = e.id_end
     and   pcp.id_produto = 8
     and   (pcp.cd_modalidade_class = 1 or pcp.cd_modalidade_class = 2)) || '%'


Mais detalhes sobre a lista de discussão lista