inner join + split 的简单问题 !

keatkeat1987 2014-02-11 06:47:30
table 1
id table2_id
1 1,2,3

table 2
id value1
1 a
2 b
3 c

想要的是
id value
1 a,b,c

不知道可不可以实现 ?
...全文
193 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
keatkeat1987 2014-02-12
  • 打赏
  • 举报
回复
追问 , find_in_set(str,strlist) . strlist 是否一定要用逗号来分割,如果不是逗号的话,我该怎么改写?
keatkeat1987 2014-02-12
  • 打赏
  • 举报
回复
感谢! 强大!
keatkeat1987 2014-02-12
  • 打赏
  • 举报
回复
感谢!大家帮忙 http://www.111cn.net/database/mysql/50190.htm
果儿妈 2014-02-12
  • 打赏
  • 举报
回复
引用 1 楼 ACMAIN_CHM 的回复:
select table1.id,group_concat(table2.value1) from table1,table2 where find_in_set(table2.id,table1.table2_id) group by table1.id
学习了…… FIND_IN_SET(str,strlist) 假如字符串str 在由N 子链组成的字符串列表strlist 中, 则返回值的范围在 1 到N 之间 。一个字符串列表就是一个由一些被‘,’符号分开的自链组成的字符串。如果第一个参数是一个常数字符串,而第二个是type SET列,则 FIND_IN_SET() 函数被优化,使用比特计算。如果str不在strlist 或strlist 为空字符串,则返回值为 0 。如任意一个参数为NULL,则返回值为 NULL。 这个函数在第一个参数包含一个逗号(‘,’)时将无法正常运行。
wsimplej 2014-02-12
  • 打赏
  • 举报
回复
引用 3 楼 keatkeat87 的回复:
追问 , find_in_set(str,strlist) . strlist 是否一定要用逗号来分割,如果不是逗号的话,我该怎么改写?
那你就事先把strlist处理成逗号分隔
ACMAIN_CHM 2014-02-11
  • 打赏
  • 举报
回复
select table1.id,group_concat(table2.value1) from table1,table2 where find_in_set(table2.id,table1.table2_id) group by table1.id

56,677

社区成员

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

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