Ver Mensaje Individual
  #2 (permalink)  
Antiguo 18/05/2012, 01:52
quimfv
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 1 mes
Puntos: 574
Respuesta: Consulta abm - tablas relacionadas

No has sido claro.

Si no sabes esto me podrias decir que parte es fácil para ti

Cita:
una ABM de productos , hasta ahi es facil,
La situación que intentas describir es una relación n:m (muchos a muchos) entre productos e ingredientes (puesto que un producto puede tener n ingredientes y un ingrediente puede integrarse en m productos).

La solución a este problema es de libro

Productos
idProducto
NombreProducto
....

Ingredientes
idIngrediente
NombreIngrediente
...

RelProductoIngrediente
idRel
idProducto
idIngrediente
cantidad

Esto te dará la receta del producto X

Código MySQL:
Ver original
  1. SELECT i.nombreIngrediente,
  2.              r.cantidad
  3. FROM (productos p
  4.        INNER JOIN RelProductoIngrediente r
  5.             ON p.idProducto=r.idProducto)
  6.                  INNER JOIN ingredientes i
  7.                         ON i.idIngrediente=r.idIngrediente
  8. WHERE p.idProducto=X

Para crear un producto tienes que ingresar sus datos generales en la tabla productos, e ingresar su id a la tabla relación junto con el id de tantos ingredientes y cantidades como tenga la receta (un registro para cada idProducto/IdIngrediente/Cantidad).

La tabla de relación no debe admitir ningun idProducto que no este en productos ni ningun ingrediente que no este en ingredientes ....

No le des vueltas esta es la unica solución eficiente.
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.

Última edición por quimfv; 18/05/2012 a las 04:22 Razón: Corregir el lapsus!!!