문제:
테이블의 여러 하위 행을 다른 테이블의 단일 행은 데이터베이스 관리의 일반적인 작업입니다. 다음 시나리오를 고려하십시오.
원하는 출력은 항목 이름과 해당 항목을 결합한 테이블입니다. Ordered_Options 테이블의 순서가 다른 경우에도 옵션을 특정 순서로 지정합니다.
해결책:
이 작업에 대한 효과적인 접근 방식 중 하나는 MySQL의 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 INNER JOIN Ordered_Options ON Ordered_Item.ID = Ordered_Options.Ordered_Item_ID GROUP BY Ordered_Item.ID
출력:
이 쿼리는 다음이 포함된 테이블을 반환합니다. 열:
Id | ItemName | Options |
---|---|---|
1 | Pizza | Pepperoni, Extra Cheese |
2 | Stromboli | Extra Cheese |
옵션 열은 각 항목의 옵션을 원하는 순서로 통합합니다.
추가 고려 사항:
위 내용은 GROUP_CONCAT을 사용하여 MySQL에서 여러 하위 행을 단일 행으로 결합하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!