新人写存储过程,遇到这种情况怎么解决?求高手

zx362168897 2014-02-27 09:37:29
是这样的
我要用存储过程写一个统计数据的语句
但是其中有三个字段 需要通过模糊匹配 大概是这样

select a.XX,a.xx,b.xx,b.xx from a,b where XXXX
但是b的几个字段需要这样模糊查询

select * from b where locate(content,'XXXXXXX')>0 order by rank desc LIMIT 1;
其中XXX是要从a表中查出的

我试过这样的语句 但是不行:
select a.content,a.XX,a.XX,a.XX,b.XX,b.XX,b.XX,b.XXFROM comic_ctcc_record a,(select XX,XX,XX,XXfrom service_match where locate(content,a.content)>0 order by rank desc LIMIT 1) b where product_id<>'' AND left(ex_datetime,10)=left(NOW(),10) group by a.province_id,a.product_id,a.cp_id,date_format(a.ex_datetime,'%Y-%m-%d');

这样子的话 没法一个语句内写完
如果拆开的话 应该怎么写呢
如果是用普通语句统计的话 我倒可以通过查询表内的ID 通过ID去找到content 然后通过content 查询出B表内的XXX字段 对A表进行更新
可是放存储过程里我不知道怎么写了
...全文
130 2 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
知道就是你 2014-02-27
  • 打赏
  • 举报
回复
直接使用mysql 内连接 查询 即可 ,共享表结构 ,说 具体要求,看的不是很懂 ,楼主要干什么!
zx362168897 2014-02-27
  • 打赏
  • 举报
回复
引用 1 楼 JenMinZhang 的回复:
直接使用mysql 内连接 查询 即可 ,共享表结构 ,说 具体要求,看的不是很懂 ,楼主要干什么!
解决了 其实我知道内连接 可惜关联的字段并不是唯一的 这个才是大问题 是通过 select * from b where locate(content,'XXXXXXX')>0 order by rank desc LIMIT 1; 这样得出字段来 直接关联实际上匹配出来会有多大

56,940

社区成员

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

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