求一个SQL语句

lifeixie 2010-05-27 05:19:43
voicefiles表
args
type=callee&number=8001
type=callee&number=8002
type=callee&number=8003
type=callee&number=8004
type=callee&number=8005

voicefiles 中的 args字段 的值比如为 type=callee&number=8005(&分割,再=分割的意思?)

如何取后面那个 number =后面的值(8005,后面的字符长度不固定 &或者=固定)然后与cdr表的 dst字段关联????


cdr 表中的字段
dst字段
8001
8002
8003
8004
8005
请问如何实现mysql 不熟悉
...全文
78 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
fenglinxiaoxue 2010-05-28
  • 打赏
  • 举报
回复
进来学习一下
ACMAIN_CHM 2010-05-27
  • 打赏
  • 举报
回复
你的电话记录软件这么存记录?

select SUBSTRING_INDEX(args,'=',-1) from voicefiles表 就行了。


如何取后面那个 number =后面的值(8005,后面的字符长度不固定 &或者=固定)然后与cdr表的 dst字段关联????
一下你期望的结果

select * from voicefiles表 a inner join cdr b on a.SUBSTRING_INDEX(args,'=',-1) =b.dst字段
shine333 2010-05-27
  • 打赏
  • 举报
回复
谁设计的表结构啊??!!
vipper23 2010-05-27
  • 打赏
  • 举报
回复
select  right(args,locate('=',reverse(args))-1)  args from voicefiles;
lifeixie 2010-05-27
  • 打赏
  • 举报
回复
voicefiles表
args字段

值:type=callee&number=8001(大概格式用程序的话说,是先&分割,再=号分割)

select args... from voicefiles;

要的结果
args
8001即可



vipper23 2010-05-27
  • 打赏
  • 举报
回复
要啥样的结果呢?
select * from voicefiles a,cdr b where b.dst=
right(a.args,locate('=',reverse(a.args))-1);




以上纯属猜测

56,687

社区成员

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

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