집 >데이터 베이스 >MySQL 튜토리얼 >GROUP_CONCAT을 사용하여 MySQL에서 여러 하위 행을 단일 상위 행으로 결합하는 방법은 무엇입니까?
MySQL에서 하위 행을 하나의 상위 행으로 결합
여기에 제시된 문제는 Ordered_Item과 Ordered_Options라는 두 테이블의 데이터를 결합하는 것입니다. 목표는 Ordered_Options의 해당 항목과 관련된 모든 옵션의 연결을 포함하여 Ordered_Item의 각 항목에 대해 단일 행을 출력하는 것입니다.
데이터베이스 구조
**Ordered_Item** ID | Item_Name 1 | Pizza 2 | Stromboli **Ordered_Options** Ordered_Item_ID | Option_Number | Value 1 43 Pepperoni 1 44 Extra Cheese 2 44 Extra Cheese
제안된 솔루션
제공된 쿼리를 시도했지만 구문적으로 정확하며 다중 조인을 사용하여 가능한 접근 방식을 보여줍니다. 그러나 GROUP_CONCAT 함수를 사용하면 더 효율적인 솔루션을 얻을 수 있습니다.
GROUP_CONCAT을 사용하면 여러 행의 값을 단일 문자열로 연결할 수 있습니다. 다음 쿼리는 GROUP_CONCAT을 활용하여 원하는 출력을 얻습니다.
select ordered_item.id as `Id`, ordered_item.Item_Name as `ItemName`, GROUP_CONCAT(Ordered_Options.Value) as `Options` from ordered_item, ordered_options where ordered_item.id=ordered_options.ordered_item_id group by ordered_item.id
Output
Id ItemName Options 1 Pizza Pepperoni,Extra Cheese 2 Stromboli Extra Cheese
추가 고려 사항
위 내용은 GROUP_CONCAT을 사용하여 MySQL에서 여러 하위 행을 단일 상위 행으로 결합하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!