22/02/2006, 12:07
|
O_O | | Fecha de Ingreso: enero-2002 Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 10 meses Puntos: 129 | |
Debería ser único como producto y por otro lado tener una tabla con las "ofertas" que contendrá esos "ID's" de productos en ofertas ..
Actualmente tu que haces para registrar tus productos? .. Registras por N duplicado en esa tabla una y otra vez el mismo producto para encajarlo en várias categorías? ..
Un "modelo de datos" algo más complejo sería: productos
id_producto
nombre
blablabla ofertas
id_oferta
id_producto
fecha_oferta
fecha_fin_oferta
etc ... categorias
id_categoria
id_pertenece_padre
nombre ...
blablabla categorias_producto
id_categoria_producto
id_producto
id_categoria
Si dices que un producto puede estar en más de una categoria .. podrías usar una tabla en relación N-N (categorias_producto). Es cierto que se complica las consultas SQL bastante así .. pero se elimina gran parte o toda la "redundancia" de datos repetidos. El tipico dilema de "proceso vs capacidad de almacenamiento"
Así quedaría algo más "normalizado" lo que pretendes hacer y con mejor control .. las propiedades de la "oferta" quedarían "aparte" del "producto" .. y así irías asociando más "tablas" a tu modelo para hacer más cosas con tus productos "base".
----------
Si quieres seguir como estás .. creo que te haría falta usar:
Obtener los productos "distintos" en oferta (todos)
SELECT DISTINCT * FROM tabla WHERE oferta='1'
ó
Obtener los productos por "ID" fijo .. que sea una oferta .. pero me quedo con un sólo resultado (LIMITo a 1 el resultado .. no me intersan más .. sé que están repetidos ...).
SELECT * FROM tabla WHERE oferta='1' AND id=x LIMIT 1
Un saludo, |