实现一下效果mysql如何自关联查询,1条数据变为4条

123

蕉太狼 发布于 2022-6-1 15:35 (编辑于 2022-11-9 09:37)
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共2回答
最佳回答
0
CD20160914Lv8专家互助
发布于2022-6-1 15:46(编辑于 2022-6-1 15:48)

select 

substring_index(

    substring_index(

      t.com,

      '@',

      b.help_topic_id + 1

    ),

    '@' ,- 1

  ) AS com_row,

b.help_topic_id,

t.com,

 substring_index(

      t.com,

      '@',

      b.help_topic_id + 1

    ) as new_com

 from (

select 'f005@13466664685@f0006@3667477@f0008@3555' as com

) t 

JOIN mysql.help_topic b ON b.help_topic_id < (

  length(t.com) - length(

    REPLACE (t.com, '@', '')) + 1)

自己改一下就行了

image.png

最佳回答
1
Z4u3z1Lv6专家互助
发布于2022-6-1 15:39(编辑于 2022-6-1 15:41)

有个笨方法用union all 连接  不晓得是不是你要的

SELECT COLNUM1,NULL AS 'COLNUM2' ,NULL AS 'COLNUM3',NULL 'COLNUM4' FROM TABLE 

UNION ALL

SELECT COLNUM1,COLNUM2 ,NULL AS 'COLNUM3',NULL 'COLNUM4' FROM TABLE

UNION ALL

UNION ALL

SELECT COLNUM1,COLNUM2 ,COLNUM3,NULL 'COLNUM4' FROM TABLE

UNION ALL

SELECT COLNUM1,COLNUM2 ,COLNUM3,COLNUM4 FROM TABLE

  • 2关注人数
  • 316浏览人数
  • 最后回答于:2022-11-9 09:37
    请选择关闭问题的原因
    确定 取消
    返回顶部