Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Consulta SQL para selecionar linhas distintas da tabela esquerda após junção interna à tabela direita


Sua consulta deve ser assim:
$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
"

Um pouco de explicação. Ao unir duas tabelas, você obtém todas as linhas da tabela sizes para todos os id da tabela products , então id =1 unido com quatro registros e id =2 unido com dois registros. Então você tem que agregar esses números em um registro.