bien He buscado aquí por unos días, y encontré esto: Esto ha sido útil pero no ha funcionado para lo que estoy trabajando actualmente.Recepción de respuestas duplicadas cuando consulta una base de datos
Así que aquí es el alcance de las cosas que tengo 3 mesas diferentes
tabla 1 (cantidades) consisten en:
quantity_id int(11) auto_increment not null (primary key)
product_id int(11) not null
color_id int(11) not null
size_id int (11) not null
quantity int (11) not null
la tabla 2 (colores) consisten en:
color_id int(11) auto_increment not null (primary key)
color_name varchar(255)
la tabla 3 (tamaños) consiste en:
size_id int (11) auto_increment not null (primary key)
size varchar(255)
SELECT s.size, c.color_name, q.quantity, q.size_id, q.product_id, q.color_id
FROM quantities q, colors c, sizes s
WHERE q.color_id = c.color_id
AND q.size_id = s.size_id
AND q.product_id = $pid
GROUP BY q.color_id
ORDER BY q.size_id
$ pid es el ID del producto pasado por el formulario.
Cuando cargo de los resultados en 2 sentencias de selección diferentes: uno para el color, uno para el tamaño me sale múltiple del mismo color o tamaño:
red s
red L
yellow L
entiendo que es, literalmente, tirando de las filas fuera de la base de datos y mostrarlos, pero ¿cómo no me repito? ?
me han tratado esta consulta
SELECT s.size, c.color_name, q.quantity, q.size_id, q.product_id, q.color_id
FROM quantities q LEFT JOIN colors c ON q.color_id = c.color_id
LEFT JOIN sizes s ON q.size_id = s.size_id
WHERE q.product_id = $pid
¿Hay una mejor manera?
¿Qué es exactamente lo que estás tratando de lograr? – Einacio
Eso sería útil. ok el juego final aquí es que solo quiero rellenar los cuadros de selección con productos que tienen una cantidad de más de 1. No quiero mostrar colores múltiples de 'rojo', 'azul', ni quiero para mostrar múltiples tamaños 'S', 'L', etc partir de ahora puede aparecer rojo L S roja amarilla L S azul – alexis