Ver Mensaje Individual
  #5 (permalink)  
Antiguo 17/12/2013, 07:09
Avatar de gnzsoloyo
gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Buscar en base de datos

Cita:
Iniciado por fedefrankk Ver Mensaje
Hola.! se que esta mal escrito, pero solo encuentro de busquedas de sistintas tablas con distintos campos, yo en una tabla quiero buscar en 3 campos...


yo lo que quiero saber si es buena practica en hacer tres busquedas en 3 campos, y no en uno solo

en uno solo me imagino que quedarian las tres palabras pegadas sin espacios.. en 3 campos distintos si no esta en uno esta en otro, y si no esta en ninguno chau no hay resultado...
estara bien ?

Saludos a todos
fede

¿Buena práctica?
No existe una buena práctica que te diga que se busca en un único campo o en tres o en quince. Eso depende de la estructura de la tabla y las necesidades de la consulta.
Si tienes tres campos sobre los que debes establecer condiciones de busqueda, pues se ponen los tres campos. De eso no hay dudas.
Lo que si debes considerar son las condiciones que evalúas, en cuanto a si son datos obligatorios al mismo tiempo, o son opcionales, si dos son obligatorios y otro opcional o bien si son interexcluyentes. Y eso sólo lo puedes decir tu, en base a tu propio esquema lógico.

Lo que si te podemos anticipar es que la consulta que propones está mal escrita, porque las condiciones en un WHERE no se separan con comas, sino con operadores lógicos como AND y OR. Y además el SELECT no está indicando el campo o conjunto de campos que quieres recuperar de la tabla.
Por favor, lee un manual básico de SQL antes de seguir adelante.

Ahora bien, supongamos que todas son condiciones obligatorias:
Código SQL:
Ver original
  1. SELECT *
  2. FROM fotos
  3. WHERE camp1=$busqueda1
  4. AND camp2=$busqueda1
  5. AND camp3=$busqueda1

Todos son opcionales:
Código SQL:
Ver original
  1. SELECT *
  2. FROM fotos
  3. WHERE camp1=$busqueda1
  4. OR camp2=$busqueda1
  5. OR camp3=$busqueda1

Dos obligatorios y uno opcional:
Código SQL:
Ver original
  1. SELECT *
  2. FROM fotos
  3. WHERE camp1=$busqueda1
  4. OR (camp2=$busqueda1
  5. AND camp3=$busqueda1)
(hay otras formas)

Y finalmente, un caso raro: Sólo uno puede ser TRUE:
Código SQL:
Ver original
  1. SELECT *
  2. FROM fotos
  3. WHERE camp1=$busqueda1
  4. XOR camp2=$busqueda1
  5. XOR camp3=$busqueda1
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)