子查詢語句的thinkphp實現


語句

SELECT a.id as item_id,a.name as item_name,a.intro as item_intro,b.id,b.money FROM sh_incentive_item a left join ( SELECT * FROM `sh_incentive` WHERE ( `agent_id` = 3 ) AND ( `year` = 2016 ) AND ( `month` = 1 ) ) b on a.id = b.item_id;

 

如何實現

SELECT * FROM `sh_incentive` WHERE ( `agent_id` = 3 ) AND ( `year` = 2016 ) AND ( `month` = 1 );

 

$incentiveModel = M('Incentive');
        $useYear = date('Y',strtotime('next month'));
        $useMonth = date('m',strtotime('next month'));
        $where['agent_id'] = $this->agent_id;
        $where['year'] = $useYear;
        $where['month'] = $useMonth;
        // 子查詢
        $subQuery = $incentiveModel->where($where)->select(false);

 

整體

   // 獲取當前代理商 本年 本月的設置
        $incentiveItemModel = M('Incentive_item');
        $incentiveModel = M('Incentive');
        $useYear = date('Y',strtotime('next month'));
        $useMonth = date('m',strtotime('next month'));
        $where['agent_id'] = $this->agent_id;
        $where['year'] = $useYear;
        $where['month'] = $useMonth;
        // 子查詢
        $subQuery = $incentiveModel->where($where)->select(false);
        $list = $incentiveItemModel->table('sh_incentive_item a')->join('left join '.$subQuery.' b on a.id = b.item_id')->field('a.id as item_id,a.name as item_name,a.intro as item_intro,b.id,b.money')->select();

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM