Mysql
 sql >> Database >  >> RDS >> Mysql

Query SQL per selezionare righe distinte dalla tabella di sinistra dopo l'unione interna alla tabella di destra

La tua domanda dovrebbe essere come:

$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 po' di spiegazione. Quando unisci due tabelle, ottieni tutte le righe dalla tabella sizes per tutti gli id dalla tabella products , quindi id =1 unito a quattro record e id =2 unito a due record. Quindi devi aggregare questi numeri in un record.