mysql中某个字段中有一组id,怎么把这组id替换成另外一个表中的数据。

两张表如下:

图片说明
图片说明
想要把edu_phase_ids中的id换成表2中的汉字,这sql该怎么写。

写个方法把,把第一张图的edu_phase_ids 和 id 取出来把,然后判断第二张表的1234数据中有没有,有的话就字符串拼接,最后通过id存进去


SELECT
    g.bid,
    GROUP_CONCAT( g.NAME ) AS end_name 
FROM
    (
    SELECT
        d.*,
        e.NAME 
    FROM
        (
        SELECT
            b.id AS bid,
            b.edu_id,
            SUBSTRING_INDEX( SUBSTRING_INDEX( b.edu_id, ',', c.help_topic_id + 1 ), ',',- 1 ) AS kai_id 
        FROM
            nj a
            LEFT JOIN kc b ON a.id = b.edu_id
            JOIN mysql.help_topic c ON c.help_topic_id < ( LENGTH( b.edu_id ) - LENGTH( REPLACE ( b.edu_id, ',', '' ) ) + 1 ) 
        WHERE
            a.id > 0 
        GROUP BY
            b.id,
            kai_id 
        ) d
        LEFT JOIN nj e ON d.kai_id = e.id 
    ) g 
GROUP BY
    g.bid

img

只会这样的笨方法了,思路是:把这一条数据打散成多条,挨个匹配上以后,再合并起来。
有更好的方法希望指正。

SELECT CONCAT(IF(FIND_IN_SET(1,edu_phase_ids)>0,'学前教育',''),',',
IF(FIND_IN_SET(2,edu_phase_ids)>0,'小学',''),',',
IF(FIND_IN_SET(3,edu_phase_ids)>0,'初中',''),',',
IF(FIND_IN_SET(4,edu_phase_ids)>0,'高中','')
) FROM 表1;