首页 > 其他 > 详细

处理逗号分隔的字符串转为列表的list(行转列)解决跨库无法使用问题

时间:2021-05-10 13:13:51      阅读:24      评论:0      收藏:0      [点我收藏+]

1.  这个方可以  但是会出现跨库无法使用问题

 

select DISTINCT (substring_index(substring_index(a.id,‘,‘,b.help_topic_id+1),‘,‘,-1)) id
        from
        (SELECT CONCAT_WS(‘,‘,fill_recheck_user_job_no,fill_check_user_job_no,fill_user_job_no) id
        FROM 表名
        WHERE id = #{id}) a
        join mysql.help_topic b
        <![CDATA[
        on b.help_topic_id < (length(a.id) - length(replace(a.id,‘,‘,‘‘))+1)
        ]]>

  

 

 

2. 类似于   select * from tablename  where  id in (1,2,3)

 

SELECT CONCAT_WS(‘,‘,fill_recheck_user_job_no,fill_check_user_job_no,fill_user_job_no) id

FROM 表名
WHERE id = #{id}    这个查出的数据是一个字符串的 "1,2,3"
使用下面的写法可以转化
find_in_set(对比参数, (SELECT CONCAT_WS(‘,‘,fill_recheck_user_job_no,fill_check_user_job_no,fill_user_job_no) id

FROM 表名
WHERE id = #{id})

可以改为这个写法  

select * from tablename  where  

find_in_set(id , (SELECT CONCAT_WS(‘,‘,fill_recheck_user_job_no,fill_check_user_job_no,fill_user_job_no) id

FROM 表名
WHERE id = #{id})

 

处理逗号分隔的字符串转为列表的list(行转列)解决跨库无法使用问题

原文:https://www.cnblogs.com/huanglp/p/14750448.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!