zoukankan      html  css  js  c++  java
  • mysql 查询

    有个新需求,      

    一张表有两个相同的商品排序信息,不同的是 type值和sort不同,如果有type等于1那就连接type等于一的那条商品信息进行排序,如果没有等于0的那就连排序等于0的进行排序


    下面是代码,亲测有效
    $resultGoods = ProductSales::with('homeGood')
    // ->leftJoin('goods as g','g.goodsId','=','productId')
    ->leftJoin('goods as g',function ($join){
    $join->on('g.goodsId','=','productId')
    ->where('g.goodsStatus','=',1)
    ->where('g.isSale','=',1)
    ->where('g.dataFlag','=',1);
    })
    ->join('good_recommend as gr',function($join){
    $join->on('gr.goods_id','=','g.goodsId')
    ->where(['gr.status'=>0,'gr.type'=>DB::raw("(SELECT DISTINCT CONCAT(IF(EXISTS(SELECT * FROM tgs_good_recommend WHERE goods_id=productId AND TYPE=1 and status=0),1,0)) AS c FROM tgs_good_recommend)")]);
    }, null,null,'left')
    ->where('product_sales.status',1)
    ->where('saleStartDatetime', '>', $saleStarTime)
    ->where('saleStartDatetime', '<=', $endTime)
    ->orderBy('saleEndDatetime', 'desc')
    ->orderBy('sort','desc')
    ->groupBy('productId')
    ->paginate($size, ['productId', 'currentSalesVolume', 'saleStartDatetime', 'saleEndDatetime', 'salesPeriodNumber','g.shopId','gr.sort'], 'page', $page);
  • 相关阅读:
    微信开发-Jssdk调用分享实例
    软件工程
    Homework_4 四则运算
    Homework 3
    每周总结
    自动生成四则运算题目
    Homework 1 -- The beginning
    程序员视角的餐饮行业
    iOS9网络适配_ATS:改用更安全的HTTPS
    Xcode的 发展史
  • 原文地址:https://www.cnblogs.com/gjclr/p/10250409.html
Copyright © 2011-2022 走看看