MySQL : 여러 행을 쉼표로 구분한 단일 행으로 표시
테이블은 DISH와 DISH_HAS_DISHES 두 개입니다.Dish Table은 모든 요리를 포함하며 "Dish_has_dish" 테이블은 "Dish" 테이블과 일대일 관계를 가집니다.즉, 한 접시에 여러 접시가 있을 수 있습니다.예를들면
접시:
dish_id dish_name
1 dish_1
2 dish_2
3 dish_3
4 dish_4
DISH_HAS_DISHES:
meal_id dish_id
1 2
1 3
1 4
여기서 meal_id와 dish_id는 모두 DISH 테이블의 ID입니다.다음과 같은 형식을 원합니다.
meal_id dish_ids dish_names
1 2,3,4 dish_2, dish_3, dish_4
그것은 쉼표로 구분된 요리 ID와 각 식사의 이름입니다.어떻게 하는 거지?
GROUP_CONCAT FUNCTION 사용
http://dev.mysql.com/tech-resources/articles/4.1/grab-bag.html
SELEct m.meal_Id,
GROUP_CONCAT(dish_id) dish_ids,
GROUP_CONCAT(dish_name) dish_names
FROM DISH_HAS_DISHES m JOIN DISH d ON (m.dish_id = d.dish_id)
GROUP BY meal_Id
언급URL : https://stackoverflow.com/questions/3492539/mysql-multiple-row-as-comma-separated-single-row
'programing' 카테고리의 다른 글
3D 어레이는 C에 어떻게 저장됩니까? (0) | 2023.08.02 |
---|---|
PHP7-MariaDB 데이터 양식 삽입 (0) | 2023.08.02 |
컨테이너가 넘치는 플렉스 항목의 맨 위로 스크롤할 수 없습니다. (0) | 2023.08.02 |
재료에서 매트 아이콘 크기를 변경하는 방법 (0) | 2023.08.02 |
스프링 @자동 배선 및 @자격자 (0) | 2023.07.28 |