Ver Mensaje Individual
  #2 (permalink)  
Antiguo 26/05/2014, 02:01
quimfv
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 1 mes
Puntos: 574
Respuesta: Crear tabla de categorias y hacer busqueda en ella?

Tu problema es el de una relación N:M.

Es decir cada contacto puede pertenecer a M categorias y cada categoria tiene N contactos.

La solución es de libro:

Contactos
idContacto
nombre
...resto de campso

Categorias
idCategoria
categoria
...resto de campso

RelCategoriasContactos
idRelCC
idContacto
idCategoria

Debes definir FK en la tabla de relación a los identificadores de las tabla principales, un indice único compuesto de los dos identificadores anteriores, estos tambien podrian ser la PK de la tabla, pero, la PK de la tabla de relación, idRelCC, que no es estrictamente necesaria, es muy comoda.

Como se consulta

Código MySQL:
Ver original
  1. SELECT c.nombre
  2. FROM contactos c
  3.       INNER JOIN RelCategoriasContactos r
  4.             ON c.idContacto=r.idContacto
  5. WHERE r.idCategoria=X

Donde X es el identificador de Ferreteria.
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.