Twoje zapytanie powinno wyglądać tak:
$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
"
Trochę wyjaśnienia. Kiedy łączysz dwie tabele, otrzymujesz wszystkie wiersze z tabeli sizes
dla wszystkich id
z tabeli products
, więc id =1 połączone z czterema rekordami i id =2 połączone z dwoma rekordami. Musisz więc zebrać te liczby w jeden rekord.