Truy vấn của bạn sẽ như sau:
$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
"
Một chút giải thích. Khi bạn nối hai bảng, bạn nhận được tất cả các hàng từ các kích thước sizes
cho tất cả id
từ bảng products
, vì vậy id =1 đã kết hợp với bốn bản ghi và id =2 đã kết hợp với hai bản ghi. Vì vậy, bạn phải tổng hợp những con số này thành một bản ghi.