Tema: Consulta Sql
Ver Mensaje Individual
  #11 (permalink)  
Antiguo 12/11/2012, 15:12
rolygc
 
Fecha de Ingreso: abril-2009
Ubicación: en un lugar de la mancha
Mensajes: 236
Antigüedad: 15 años
Puntos: 38
Respuesta: Consulta Sql

Para mi tienes un mal disenno de la tabla, si tienes 3 telas ke son Impermeabilidad, Resistencia al Roce repittiras lo mismo 3 veces y si tienes 3000 lo haras 3 mil veces

mejor seria ke crees columnas por tus funciones y las acticas con un flag igual a 1 o 0 descativada.
unos de los principios de l disenno de base de datos es guardar solamente un dato en la campo

Código:
--------------------------------------------------------------------------------------------------------------------------------------------------------
| id | familia | cordura           | descripcion          | ventaja       | uso            | tags | generico | impermiable | resistencia_roce |  usos  |
--------------------------------------------------------------------------------------------------------------------------------------------------------
| 1  |  0108   | Fabricado con...  |  Alta resistencia... | Ideal para... | linea engomada |      |     1    |      1      |         1        |        |
--------------------------------------------------------------------------------------------------------------------------------------------------------
y cuando kieras buiscar lo haces por los flags igual a 1 y te dara esas funciones.

Por otra parte como los estas hacinedo tendras ke hacer el implode en el mismo orden en ke lo tienes guardado en la base de datos si no te devuelve vacio. o sea ke si estas buscando por

SELECT * FROM prod_linea_tela WHERE funciones LIKE ('%Alta Visibilidad,Resistente a la decoloración,Antidesgarro%')
no puedes tener los espacios en las comas ke tienes en tu tabla, y tendras ke tener una tela con ese mismo orden de funciones para ke devuelva algo

si no

SELECT *
FROM prod_linea_tela
WHERE funciones LIKE '%Alta Visibilidad%'
OR funciones LIKE '%Resistente a la decoloración%'
OR funciones LIKE '%Antidesgarro%'