问答

tp5 数据库查询 如何进行多对多查询

作者:admin 2021-07-05 我要评论

我邀请的会员(在会员表)有多个,邀请的会员会去做任务(任务表) 想查询一下我邀请的所有会员 完成的单数 这样的sql 怎么去写才是更优化的。~~~~ 我当前想到的就是...

在说正事之前,我要推荐一个福利:你还在原价购买阿里云、腾讯云、华为云服务器吗?那太亏啦!来这里,新购、升级、续费都打折,能够为您省60%的钱呢!2核4G企业级云服务器低至69元/年,点击进去看看吧>>>)

我邀请的会员(在会员表)有多个,邀请的会员会去做任务(任务表)

想查询一下我邀请的所有会员 完成的单数 这样的sql 怎么去写才是更优化的。~~~~

我当前想到的就是直接先查会员 然后用foreach 再一个个的去查

谢谢

###

我做的话思路大概是这样

如果有redis就从redis查数据,不走mysql

// 查询我所邀请的会员, 并获取id
$aMember    = db('会员表')->where($where)->field($field)->select();
$aMemberIds = array_column($aMember, 'member_id');

// 查询会员id对应的任务
$aTask = db('任务表')->where(['member_id' => ['in', $aMemberIds]])->field($field)->select();

// 处理两个数组
foreach ($variable as $key => $value) {
    # code...
}
###

用leftjoin
field(count(id))

版权声明:本文转载自网络,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。本站转载出于传播更多优秀技术知识之目的,如有侵权请联系QQ/微信:153890879删除

相关文章
  • PHP的use 的 前提是包中的文件需要提前

    PHP的use 的 前提是包中的文件需要提前

  • 为什么分布式项目中需要分布式锁,而普

    为什么分布式项目中需要分布式锁,而普

  • mysql高效查询评论及回复内容,并且分

    mysql高效查询评论及回复内容,并且分

  • tp5 数据库查询  如何进行多对多查询

    tp5 数据库查询 如何进行多对多查询

腾讯云代理商
海外云服务器