Pregunta:
Fecha: 02-12-2019 18:52:47
(En Español)
Mi base de datos es la siguiente ,


Para entender un poco el sistema, básicamente los productos son automóviles, por ende pueden tener mas de una categoría, que pueden ser: rapido, todo terreno, 0 kilometros, etc..
Mi problema surge en realizar la consulta para buscar estos autos, el cliente, puede elegir las categorías a consultar, por ejemplo: todo terreno, espacioso, rápido, etc.. y en base a esas categorías que el cliente selecciona debe mostrar los productos que cuenten con 1 o mas de ellas.
He probado con inner join pero si tengo el usuario selecciona 2 categorías que tiene un producto, me devuelve el producto repetido.
por ejemplo:
SELECT * FROM productos INNER JOIN categoria_productos ON categoria_productos.id_producto = categoria_productos.id_producto WHERE categoria_productos.id_categoria = '4' OR categoria_productos.id_categoria = '9'
Ahí estoy buscando un producto con la categoría 4 y 9, efectivamente el producto id 1 tiene esas 2 categorías, pero me repite 2 veces el mismo producto. Votos: 0 - Respuestas: 3 - Vistas: 9 Compartir en: Google Facebook Twitter LinkedIn Link
Consulta en tabla muchos a muchos[Resuelta]
Estimada comunidad, hace muchas horas que me llevo dando vuelta con este código y no he podido encontrar la solución, espero puedan ayudarme.Mi base de datos es la siguiente ,


Para entender un poco el sistema, básicamente los productos son automóviles, por ende pueden tener mas de una categoría, que pueden ser: rapido, todo terreno, 0 kilometros, etc..
Mi problema surge en realizar la consulta para buscar estos autos, el cliente, puede elegir las categorías a consultar, por ejemplo: todo terreno, espacioso, rápido, etc.. y en base a esas categorías que el cliente selecciona debe mostrar los productos que cuenten con 1 o mas de ellas.
He probado con inner join pero si tengo el usuario selecciona 2 categorías que tiene un producto, me devuelve el producto repetido.
por ejemplo:
SELECT * FROM productos INNER JOIN categoria_productos ON categoria_productos.id_producto = categoria_productos.id_producto WHERE categoria_productos.id_categoria = '4' OR categoria_productos.id_categoria = '9'
Ahí estoy buscando un producto con la categoría 4 y 9, efectivamente el producto id 1 tiene esas 2 categorías, pero me repite 2 veces el mismo producto. Votos: 0 - Respuestas: 3 - Vistas: 9 Compartir en: Google Facebook Twitter LinkedIn Link
Respuestas:
-
Fecha: 03-12-2019 08:06:04 Maikel, ejecuta esta sentencia SQL
SELECT *FROM productos
INNER JOIN categoria_productos ON categoria_productos.id_producto = productos.id_producto
WHERE categoria_productos.id_categoria = '4' OR categoria_productos.id_categoria = '9'
GROUP BY productos.id_producto
Con eso ya no se va repetir el producto 1 Votos: 1 - Link respuesta -
-
Fecha: 03-12-2019 12:32:29 Maikel, cierra el hilo si la respuesta ayudó a resolver el problema Votos: 0 - Link respuesta
Para participar activamente de la comunidad primero debes autenticarte, ingresa al sistema.Iniciar Sesión
