sql >> Base de Datos >  >> RDS >> Mysql

Consulta SQL para seleccionar filas distintas de la tabla de la izquierda después de la unión interna a la tabla de la derecha

Su consulta debe ser como:

$query = "
    select t1.id, t1.title, t1.description, group_concat(t2.size SEPARATOR ",") as sizes
    from products as t1
       inner join sizes as t2 on t1.id=t2.id
    where t1.id in (select t3.id from sizes as t3 where t3.size in (".$size_list .")
    group by t1.id, t1.title, t1.description
"

Un poco de explicación. Cuando une dos tablas, obtiene todas las filas de la tabla sizes para todos los id de la tabla products , entonces id =1 unido con cuatro registros e id =2 unido con dos registros. Por lo tanto, debe agregar estos números en un solo registro.