MySQL은 필드를 구분 기호로 분할합니다. 즉, 한 줄을 여러 줄로 나눕니다.

1. 테이블의 원본 데이터는 다음과 같습니다.

SELECT id,warehouse_ids FROM `test` ORDER BY Warehouse_ids DESC LIMIT 1

2. 쉼표를 기준으로 쿼리를 분할합니다.

알아채다

1. 구분 기호를 해당 문자로 바꿔야 합니다. 여기에는 쉼표(,)가 있습니다.

2. JOIN의 사용자 테이블은 내 데이터베이스의 테이블입니다. 주요 목적은 자동 증가 ID를 사용하는 것입니다. 자동 증가 ID는 1부터 연속적으로 시작해야 합니다(1,2,3....)

3. 일반적으로 user 대신 mysql.help_topic 테이블을 사용하는데, 이 테이블에는 권한이 없으므로 user를 대신 사용한다.

선택하다
	t.id AS 'id',
	substring_index( substring_index( t.warehouse_ids, ',', h.id ), ',',- 1 ) AS 'warehouse_id'
에서
	('test'에서 id,warehouse_ids 선택 ORDER BY Warehouse_ids DESC LIMIT 1) t
	JOIN 사용자 AS h ON h.id-1 < ( char_length( t.warehouse_ids ) - char_length( REPLACE ( t.warehouse_ids, ',', '' ) ) + 1 )

다음 SQL을 참조했습니다.

선택하다
    t.id AS 'id',
    t.NAME AS '이름',
    substring_index( substring_index( t.courses, '、', h.help_topic_id + 1 ), '、',- 1 ) AS '课程'
FROM t_student t JOIN mysql.help_topic AS h ON h.help_topic_id < ( char_length( t.courses ) - char_length( REPLACE ( t.courses, '、', '' ) ) + 1 )
;

3. 참고자료

MySQL은 필드를 구분 기호로 분할합니다. 즉, SQL 작성의 한 줄을 여러 줄로 나눕니다.

mysql은 문자열을 여러 줄로 나눕니다(쉼표 등으로 구분).

Supongo que te gusta

Origin blog.csdn.net/weixin_42048982/article/details/130870118
Recomendado
Clasificación