Nueva pregunta

Pregunta:

Fecha: 02-12-2019 18:52:47 (En Español)

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.
Etiquetas: Base de Datos - MySQL - PHP - PHP MySQLi 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 11:52:31 Muchas gracias por tu ayuda :)!   Votos: 0 - 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
 
frjcbbae garagebible.com