Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » PostgreSQL »

Buscar un valor en diferentes campos

Estas en el tema de Buscar un valor en diferentes campos en el foro de PostgreSQL en Foros del Web. Hola forer@s tengo una tabla customers, donde tengo el nombre del cliente en cuatro campos, es decir, un campo nombre1 , nombre2 , apellido1 , ...
  #1 (permalink)  
Antiguo 22/08/2013, 17:46
Avatar de malakian  
Fecha de Ingreso: septiembre-2010
Ubicación: $malakian->Colombia();
Mensajes: 469
Antigüedad: 14 años, 2 meses
Puntos: 45
Buscar un valor en diferentes campos

Hola forer@s

tengo una tabla customers, donde tengo el nombre del cliente en cuatro campos, es decir, un campo nombre1, nombre2, apellido1, apellido2

coloco dos ejemplos de registros que tengo en la tabla

+------------------------+--------------------------+
| nombre | nombre1 | apellido1 | apellido2 |
+------------------------+--------------------------+
| pepe | Alberto | Perez | Aguilar |
+------------------------+--------------------------+
| algo | Otro | Benitez | AGudelo |
+------------------------+--------------------------+

Ok, espero que la tabla se entienda,

Ahora me gustaría buscar al señor pepe Alberto Perez AGuilar, el cual viene en un solo valor, es decir, la palabra pepe Alberto Perez AGuilar viene en un solo string

intenté esta consulta

Código SQL:
Ver original
  1. SELECT * FROM customers WHERE nombre1 LIKE '%pepe Alberto Perez AGuilar%' OR apellido1 LIKE '%pepe Alberto Perez AGuilar%';

obviamente esto no me funciona, mi pregunta es si puede realizar la consulta sin necesidad de hacer un substr o explode, si no directamente con el string.

Agradezco cualquier ayuda
__________________
Guitar Loco, Desarrollador Web PHP
Sigueme: @jose1x
  #2 (permalink)  
Antiguo 06/09/2013, 16:43
Avatar de RastaMart  
Fecha de Ingreso: noviembre-2006
Mensajes: 91
Antigüedad: 18 años
Puntos: 3
Respuesta: Buscar un valor en diferentes campos

Puedes usar el concatenar los cuatros campos... y probar si jala con un like.

No recuerdo si es Concat(campo1, campo2, campo3, campo4) o usar
Código SQL:
Ver original
  1. String   = (campo1 || " " || campo2 || " " || campo3  || " " || campo4 )

Asi rapido puedes investigar sobre eso...

Última edición por gnzsoloyo; 07/09/2013 a las 04:47
  #3 (permalink)  
Antiguo 06/09/2013, 17:21
 
Fecha de Ingreso: septiembre-2013
Ubicación: Santo Domingo
Mensajes: 8
Antigüedad: 11 años, 2 meses
Puntos: 1
Respuesta: Buscar un valor en diferentes campos

Saludos,

creo que el script que estas buscando seria algo como esto.
Código SQL:
Ver original
  1. SELECT * FROM customers
  2. WHERE ( nombre ||' ' || nombre1 ||' ' || apellido1 ||' ' || apellido2) = 'pepe Alberto Perez AGuilar'


prueba de esta manera creo que te puede funcionar, una duda que me surgió, estas seguro que el nombre viene en la misma secuencia en la que colocas los campos de no ser hasi deberias pensar en otra manera de búsqueda, bueno espero que te sirva la respuesta

Última edición por gnzsoloyo; 07/09/2013 a las 04:47

Etiquetas: campos, valor
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:29.