본문 바로가기

DATABASE/Mysql

[Mysql] 콤마를 row로 반환 쿼리

(

SELECT GROUP_CONCAT(USER_NAME) FROM TEST_USER WHERE USER_ID IN (

SELECT SUBSTRING_INDEX(SUBSTRING_INDEX(TMP.USER_ID_LIST, ',', NMBR.NO), ',', -1) value

FROM TEST_INFO TMP

CROSS JOIN

(

SELECT AA.N + BB.N * 10 + 1 NO

FROM

(

SELECT 0 AS N UNION ALL 

SELECT 1 UNION ALL 

SELECT 2 UNION ALL 

SELECT 3 UNION ALL 

SELECT 4 UNION ALL 

SELECT 5 UNION ALL 

SELECT 6 UNION ALL 

SELECT 7 UNION ALL 

SELECT 8 UNION ALL 

SELECT 9

) AA

,(

SELECT 0 AS N UNION ALL 

SELECT 1

) BB

ORDER BY NO

) NMBR

WHERE ASGM_MULTI_NO = A.ASGM_MULTI_NO

AND NMBR.NO <![CDATA[<=]]> 1 + (LENGTH(TMP.USER_ID_LIST) - LENGTH(REPLACE(TMP.USER_ID_LIST, ',', '')))

ORDER BY value

)

) SEPARATE_USER_NAME,