Boxxer
Power Member
Boas,
tenho uma tabela da qual faz parte uma coluna NOME que tem nomes completos de pessoas. Ou seja, não há uma distinção entre nome próprio e apelido. Contém valores do estilo "José Luís Ribeiro Sousa".
Tenho uma outra tabela com nomes, mas que tem 3 colunas com 1º nome, apelido e nome do meio.
Eu preciso de procurar na 1ª tabela por nomes que estejam na 2ª, mas a contar que haja erros, nomes mal escritos, partes do nome que possam faltar, etc...
Portanto, basicamente, queria fazer um
Select *
from TABELA1
where nome like ..... (select APELIDO from TABELA2)
Claro que isto em SQL não funciona, porque o LIKE só usa 1 valor, e não uma lista deles.
Mas como é que posso comparar todos os nomes da 1ª tabela com os apelidos da 2ª sem ter que fazer um programeta?
Tipo... devolver todos os nomes da 1ª tabela que contenham qualquer valor da coluna APELIDO da 2ª tabela?
Seria como fazer uma lista de valores (NOME in ('valor1', 'valor2',) etc....), mas para cada valor usar um LIKE '%valor1%', '%valor2%', etc...
Alguém sabe duma forma para conseguir isto em SQL?
tenho uma tabela da qual faz parte uma coluna NOME que tem nomes completos de pessoas. Ou seja, não há uma distinção entre nome próprio e apelido. Contém valores do estilo "José Luís Ribeiro Sousa".
Tenho uma outra tabela com nomes, mas que tem 3 colunas com 1º nome, apelido e nome do meio.
Eu preciso de procurar na 1ª tabela por nomes que estejam na 2ª, mas a contar que haja erros, nomes mal escritos, partes do nome que possam faltar, etc...
Portanto, basicamente, queria fazer um
Select *
from TABELA1
where nome like ..... (select APELIDO from TABELA2)
Claro que isto em SQL não funciona, porque o LIKE só usa 1 valor, e não uma lista deles.
Mas como é que posso comparar todos os nomes da 1ª tabela com os apelidos da 2ª sem ter que fazer um programeta?
Tipo... devolver todos os nomes da 1ª tabela que contenham qualquer valor da coluna APELIDO da 2ª tabela?
Seria como fazer uma lista de valores (NOME in ('valor1', 'valor2',) etc....), mas para cada valor usar um LIKE '%valor1%', '%valor2%', etc...
Alguém sabe duma forma para conseguir isto em SQL?