내가 몇 테이블이 조인그룹화 데이터는
나는 모든 정보를 반환 단 하나의 쿼리를 생성 할products: id (int), name (varchar)
colors: id (int), name (varchar)
sizes: id (int), name (varchar)
products_colors: color_id (int), product_id (int)
products_sizes: size_id (int), product_id (int)
(색상 대신 3 개 쿼리, 제품 1, 1 및 크기 일) 나는 내가 "괜찮은"그 일이 일어나고 경우 GROUP_CONCAT를 사용하지만, 쿼리가 중복 된 데이터를 반환, 확실하지 않은 그 무언가를 할 수 있다는 것을 발견 때문에 GROUP_CONCAT 또는이
SELECT products.id, products.name, CONCAT("[", GROUP_CONCAT("'", colors.name, "'"), "]") colors, CONCAT("[", GROUP_CONCAT("'", sizes.name, "'"), "]") sizes
FROM products
LEFT JOIN products_sizes ON products_sizes.product_id = products.id
LEFT JOIN sizes ON sizes.id = products_sizes.size_id
LEFT JOIN products_colors ON products_colors.product_id = products.id
LEFT JOIN colors ON colors.id = products_colors.color_id
GROUP BY products.id
그 난을 유의하시기 바랍니다 JOINS CONCAT을 사용하여 그룹화 된 데이터의 형식을 지정합니다. JSON 가 products_colors의 일치 및 데이터
내가 가능한 색상이나 크기가있는 경우 모든 제품 상관없이 반환하는 데 필요한 GROUP_CONCAT에 중복 products_sizes 경우
group_concat 함수에 distinct를 추가 했습니까? –