2 vejo 2 alternativas para vc, ambas utilizam union commo parte da solução: alternativa A) Crie um Select mais ou menos assim: SELECT CLI.NOME , CLI.FONE , CAST('Cliente' AS VARCHAR(15)) AS TIPO , CAST(0 AS SMALLINT) AS ORDEM_PRIMARIA FROM CLIENTE CLI WHERE CLI.FONE LIKE('%'||:TextoAProcurar) UNION SELECT FOR.NOME , FOR.FONE , CAST('Fornecedor' AS VARCHAR(15)) AS TIPO , CAST(1 AS SMALLINT) AS ORDEM_PRIMARIA FROM CLIENTE WHERE FOR.FONE LIKE('%'||:TextoAProcurar) ORDER BY 4 /* ORDEM PRIMARIA*/ , 1 /* NOME */
B) Crie uma VIEW com esse comando sem o order by e sem o where, e se vc quiser usar procurar em mais tabelas, como por exemplo, transportadora etc etc, basta vc adicionar no final acrescentando a sua union, e para usa-la (a view) vc faz um SELECT <CAMPOS> FROM VIEW WHERE FONE CONTAINING :TextoAProcurar ORDER BY ORDEM_PRIMARIA, NOME PS* Use o CONTAINING COMO ALTERNATIVA PARA O LIKE se assim te resolver. Em Seg, 2004-12-27 às 01:23, A33 Tecnologia e Informática escreveu: > Olá Amigos, > > Meu problema é o seguinte: > Tenho várias tabelas no BD contendo campo FONE. Meu cliente quer pesquisar > pelo telefone e obter no resultado os registros das diversas tabelas. Caso > exista um telefone com final 4140 na tabela clientes e outro na tabela > fornecedores, ele quer que sejam mostrados no mesmo grid. > Preciso de uma instrução SQL que resolva este problema, "preferencialmente" > resultando algo assim: > > NOME FONE TIPO > José Luis 3342.4140 Cliente > ECSAM Ltd 3328.4140 Fornecedor > > Se for o caso, posso adicionar campos nas tabelas. > > Desde já, obrigado pelo interesse! > > José Luis > > -- _ ______________________________ / )| | / / | Jimi Roy Pugss (41 88377350) | _( (_ | _ Developer World Inc. | (((\ \)|_/ )__________________________| (\\\\ \_/ / \ / \ _/ / / -- <<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>> Para ver as mensagens antigas, acesse: http://br.groups.yahoo.com/group/delphi-br/messages Para falar com o moderador, envie um e-mail para: [EMAIL PROTECTED] ou [EMAIL PROTECTED] Links do Yahoo! Grupos <*> Para visitar o site do seu grupo na web, acesse: http://br.groups.yahoo.com/group/delphi-br/ <*> Para sair deste grupo, envie um e-mail para: [EMAIL PROTECTED] <*> O uso que você faz do Yahoo! Grupos está sujeito aos: http://br.yahoo.com/info/utos.html