busqueda en dos campos de una tabla
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
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
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 ??
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.
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.
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.
select * from nombredelatabla
where nombre + apellido1 + apellido2 like '%Juanito%'
espero esto conteste a tu pregunta.
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 :(
