쉼표로 구분된 조인 필드를 사용하여 테이블 조인
쉼표로 구분된 목록이 포함된 테이블을 작업할 때 기존 방식을 사용하여 조인을 수행하는 것이 어려워집니다. 행동 양식. 이 경우 "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 중국어 웹사이트의 기타 관련 기사를 참조하세요!