onethink用户表订单表关联查询统计订单数

$res = M('member')
    ->table('__MEMBER__ as a')
    ->join('__ORDER__ as b')
    ->field('a.id,b.order_sn,count(b.id) as total')
    ->where('b.receive_member_id = a.id')
    ->group('a.id')
    ->order('total desc')
    ->limit($page->firstRow, $page->listRows)
    ->select();

1. res=M(′member′),res=M(′member′),res = M('member a') ,$res = M('member as a') 意思相同

2.res = M('member')->table('__MEMBER a') ,res = M('member')->table('__MEMBER a') ,res = M('member')->table('__MEMBER as a') 相同。

$res = M('member_attest')
    ->table('__MEMBER_ATTEST__ a')
    ->join('__MEMBER__ b')
    ->join('__ORDER__ c')
    ->field('a.id,a.member_id,a.real_name,a.rank,b.mobile,count(c.id) as total')
    ->where('c.receive_member_id = b.id and  b.id = a.member_id')->group('a.id')
    ->order('total desc')
    ->limit($page->firstRow, $page->listRows)
    ->select();

$res = M('member_attest')
    ->table('__MEMBER_ATTEST__ a')
    ->join('__MEMBER__ b ON b.id = a.member_id')
    ->join('__ORDER__ c')
    ->field('a.id,a.member_id,a.real_name,a.rank,b.mobile,count(c.id) as total')
    ->where('c.receive_member_id = b.id')->group('a.id')
    ->order('total desc')
    ->limit($page->firstRow, $page->listRows)
    ->select();

效果一样,join里面也可以不用带 on a.xx=b.xxx ,查询条件可以全部放到where里面

$res = M('member_attest')
    ->table('__MEMBER_ATTEST__ a,__MEMBER__ b')
    ->where('a.member_id = b.id')
    ->select();
$res = M('member_attest a')
    ->join('__MEMBER__ b')
    ->where('a.member_id = b.id')
    ->select();
$res = M('member_attest a')
    ->join('__MEMBER__ b ON a.member_id = b.id')
    ->select();

这三个都可以正常使用

来自:https://www.cnblogs.com/wesky/p/6425486.html

点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论

微信小程序

微信扫一扫体验

立即
投稿

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部