求一行转列SQL

trymybest121 2014-03-05 04:46:53
输入:

table1:

id,names
1 a,b,c

输出

id,name
1 a
1 b
1 c

...全文
87 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
WWWWA 2014-03-06
  • 打赏
  • 举报
回复
辅助有LSB1,字段ID,内容1-10000,假设分隔符为* SELECT *,SUBSTRING_INDEX( SUBSTRING_INDEX(a1.SUBJECT,'*',b.id),'*',-1) FROM a a1 LEFT JOIN lsb1 b ON (LENGTH(a1.SUBJECT)-LENGTH(REPLACE(a1.SUBJECT,'*','')))+1>=b.id;
Rotel-刘志东 2014-03-05
  • 打赏
  • 举报
回复
你的需求是列转行,不是行转列 行专列可以用group_concat() select id,group_concat(names) from tb 列转行 case when

56,687

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧