쉼표로 구분된 값을 사용하여 여러 조인 필드 쿼리
SQL에서 쉼표로 구분된 목록(CSV)이 포함된 테이블을 처리할 때 해당 필드에서는 조인을 효과적으로 수행하기가 어려울 수 있습니다. 이 문서에서는 영화 테이블의 카테고리 열에 여러 카테고리 ID가 포함되어 있는 특정 시나리오를 살펴보고, 목표는 카테고리 테이블에서 해당 카테고리 이름을 가져오는 동안 이를 완전히 제외하는 것입니다.
다음 표에서는 시나리오를 보여줍니다. :
Table categories: -id- -name- 1 Action 2 Comedy 4 Drama 5 Dance Table movies: -id- -categories- 1 2,4 2 1,4 4 3,5
원하는 조인을 수행하려면 find_in_set() 함수를 group_concat() 작업과 함께 활용할 수 있습니다. 쿼리는 다음과 같습니다.
select m.id, group_concat(c.name) from movies m join categories c on find_in_set(c.id, m.categories) group by m.id
쿼리 설명:
결과 출력은 다음과 같습니다. 배열 형식의 해당 카테고리 이름과 함께 영화 ID. 이를 통해 영화 테이블에서 CSV를 디코딩할 필요 없이 관련 카테고리에 쉽게 액세스할 수 있습니다.
부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.
Copyright© 2022 湘ICP备2022001581号-3