이 문제를 순수 mysql로 해결할 수 있나요? (열의 ';' 구분 값에 결합)
질문:
두 개의 테이블이 주어지면 사용자 테이블 t1에는 ';'을 포함하는 리소스 열이 있습니다. ' 분리된 리소스 ID와 ID 및 데이터가 있는 리소스 테이블 t2를 결합하여 사용자 및 리소스 데이터가 포함된 테이블을 얻기 위해 t1과 t2를 결합하려고 합니다.
문제:
외부 언어를 사용하여 결과를 조작할 수 없으며 user_resources 테이블은 비정규화됩니다.
해결책:
1부터 1까지의 숫자가 포함된 정수 시리즈라는 테이블을 만듭니다. 특정 한도. 리소스 열을 배열로 처리하는 COUNT_IN_SET 및 VALUE_IN_SET 함수를 사용하여 테이블을 정규화합니다. 그런 다음 Integerseries와 결합하여 개별 리소스 ID를 추출합니다.
<code class="sql">SELECT user_resource.user, resource.data FROM user_resource JOIN integerseries AS isequence ON isequence.id <= COUNT_IN_SET(user_resource.resources, ';') JOIN resource ON resource.id = VALUE_IN_SET(user_resource.resources, ';', isequence.id) ORDER BY user_resource.user, resource.data</code>
위 내용은 Pure MySQL을 사용하여 열에서 세미콜론으로 구분된 값을 사용하여 테이블을 조인할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!