> 데이터 베이스 > MySQL 튜토리얼 > SQL에서 쉼표로 구분된 조인 필드를 사용하여 테이블을 조인하는 방법은 무엇입니까?

SQL에서 쉼표로 구분된 조인 필드를 사용하여 테이블을 조인하는 방법은 무엇입니까?

Barbara Streisand
풀어 주다: 2024-11-12 07:41:01
원래의
348명이 탐색했습니다.

How to Join Tables with Comma-Separated Join Fields in SQL?

쉼표로 구분된 조인 필드를 사용하여 테이블 조인

쉼표로 구분된 목록이 포함된 테이블을 작업할 때 기존 방식을 사용하여 조인을 수행하는 것이 어려워집니다. 행동 양식. 이 경우 "categories"와 "movies"라는 두 개의 테이블이 있습니다. 여기서 "movies" 테이블의 "categories" 열에는 쉼표로 구분된 여러 카테고리 ID가 있습니다.

"카테고리" 열의 원시 ID 대신 해당 카테고리 이름을 사용하면 다음 SQL 쿼리를 활용할 수 있습니다.

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
로그인 후 복사

이 쿼리는 find_in_set() 함수는 "categories" 테이블에 지정된 카테고리 ID가 "m.categories" 필드에 저장된 쉼표로 구분된 목록 내에 존재하는지 확인합니다. "m.categories" 값에 대해 "categories" 테이블의 각 후보 범주를 반복적으로 확인함으로써 쿼리는 일치하는 범주를 식별합니다.

그런 다음 group_concat() 함수는 일치하는 범주 이름을 배열로 집계하는 데 사용됩니다. , 결과 집합의 각 행에 대해 단일 문자열 필드로 연결합니다. 마지막으로 쿼리는 "m.id" 열을 기준으로 결과를 그룹화하여 각 영화 ID가 출력에 한 번만 나타나도록 합니다.

결과적으로 이 쿼리는 쉼표로 구분된 카테고리 ID를 효율적으로 대체합니다. 해당 카테고리 이름이 있는 "movies" 테이블을 사용하여 비전통적인 조인 필드가 있는 테이블에서 조인 작업을 효과적으로 수행합니다.

위 내용은 SQL에서 쉼표로 구분된 조인 필드를 사용하여 테이블을 조인하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿