busqueda en dos campos de una tabla

kagrica
06 de Noviembre del 2003
tengo una tabla donde esta definido el campo nombre, apellido1,apellido2,ocupacion.
Para consultar los datos de la persona se ingresa como criterio de busqueda el nombre completo: Juanito M Perez Pelaez (por ejemplo) o tambien puedo simplemente decirle Juanito Perez o darle cualquier combinacion al nombre. La pregunta es, ¿Còmo tendria q hacer la consulta para obtener el (los) registro(s) que coincida con la cadena dada, si tengo q buscar en campos diferentes?
Alguien me puede ayudar dandome una idea! Gracias

patriciop
06 de Noviembre del 2003
A ver si entiendo, quieres buscar los registros que coincidan con un datos ingresado, sin importar como ingrese el dato ?. es decir Juanito Perez o Perez Pelaez Juanito o Perez P Juanito ??

kagrica
06 de Noviembre del 2003
Si, es algo asi. Lo q requiero es buscar en diferentes campos de una misma tabla los datos ingresados sin importar el orden... Hace poco intente algo asi:
select * from tabla where (nombre like '%juanito%' or nombre like '%perez%') and (apellido1 like '%juanito%' or apellido1 like '%perez%') , pero solo funciona para dos campos, si hago la consulta para q busque en uno o en tres campos no arroja ningun resultado. Y necesito que los busque en tres campos.

Lalo
06 de Noviembre del 2003
Lo que tienes que hacer es concatenar tus campos por los cuales vas a realizar la busqueda o sea :

select * from nombredelatabla
where nombre + apellido1 + apellido2 like '%Juanito%'

espero esto conteste a tu pregunta.

kagrica
06 de Noviembre del 2003
Probe tu consulta y no me funciono, no me arroja ningun registro. Yo habia intentado algo parecido, concatenando los campos junto con los valores de busqueda y tampoco me arroja ningun registro. Probe tambien asi: select * from tabla where (nombre like '%juanito%' or nombre like '%perez%') and (apellido1 like '%juanito%' or apellido1 like '%perez%') , pero solo funciona para dos campos, si hago la consulta para q busque en uno o en tres campos no arroja ningun resultado :(