您的位置:首页 > 编程语言 > PHP开发

子查询语句的thinkphp实现

2015-12-04 15:16 603 查看
语句

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();
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: