关于mysql一对多记录展示问题

   前段时间在工作过程中,遇到个这样的需求:其中A表每次进行添加时只添加一条记录,B表关联A表的id会同时添加一条或多条记录。当我进行查询的时候,只查询A表的记录,但最近需求要求我关联B表查询一些东西,这样的话就会出现一对多记录问题。在页面展示就会出现问题。
   后来我找到了一个办法,使用mysql的函数进行处理,这个函数就是GROUP_CONCAT。
   GROUP_CONCAT功能:将group by产生的同一个分组中的值连接起来,返回一个字符串结果。
   也就是说,用了这个函数之后,对应的多条记录那些根据A表的id分组后,就会形成一条记录,这一条记录是多条记录用,拼接而成的。这样的话,依旧可以根据A表查记录,展示的那个有多条记录的字段就是用,拼接出来的。
   这个问题解决之后,还有一个问题随之而来,我查这些记录的总数量的时候,出现了问题,另外根据这个多条记录拼接出来的字段进行模糊查询的时候出现了问题。当进行模糊查询的时候,如果根据正常的sql进行模糊查询时,它是查询的表里所真实存在的数据,这就导致你搜的有时候会查不出来,于是我考虑到了子查询,把查询到的内容当作另一个表的条件再进行查询,给首先查询到的内容起一个别名,然后模糊查询时,根据这个字段like一下就行。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值