子查询语句的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();



本文转自TBHacker博客园博客,原文链接:http://www.cnblogs.com/jiqing9006/p/5019383.html,如需转载请自行联系原作者

相关文章
|
JavaScript 前端开发 数据安全/隐私保护
vue element plus Input 输入框
vue element plus Input 输入框
720 0
|
前端开发 Java 数据安全/隐私保护
深入理解 Spring MVC Controller —— 请求参数获取
前言 接上篇《深入理解 Spring MVC Controller —— 请求映射》,上篇主要介绍了处理器方法及请求映射的定义。有了处理器方法 Spring MVC 就可以对请求进行处理,有了请求映射 Spring MVC 就能知道哪些请求应该由哪些处理器方法来处理。
1080 0
深入理解 Spring MVC Controller —— 请求参数获取
|
Web App开发 存储 网络协议
chrome命令行参数
chrome命令行参数
397 0
|
Linux 网络安全 Docker
在Alpine容器中安装配置ssh服务端
在Alpine容器中安装配置ssh服务端
4452 0
|
6月前
|
Python
使用Python实现multipart/form-data文件接收的http服务器
至此,使用Python实现一个可以接收 'multipart/form-data' 文件的HTTP服务器的步骤就讲解完毕了。希望通过我的讲解,你可以更好地理解其中的逻辑,另外,你也可以尝试在实际项目中运用这方面的知识。
301 69
|
存储 NoSQL Java
Redis如何处理Hash冲突?
在 Redis 中,哈希表是一种常见的数据结构,通常用于存储对象的属性,对于哈希表,最常遇到的是哈希冲突,那么,当 Redis遇到Hash冲突会如何处理?这篇文章,我们将详细介绍Redis如何处理哈希冲突,并探讨其性能和实现细节。
294 1
|
存储 搜索推荐 安全
【STM32项目】基于Stm32c8t6-镭射激光打印机的设计(完整工程资料源码)(一)
【STM32项目】基于Stm32c8t6-镭射激光打印机的设计(完整工程资料源码)(一)
580 0
|
存储 人工智能 弹性计算
自动化搭建专属 AI 绘图服务
本文介绍了如何使用通义万相AIGC技术和阿里云的计算和存储产品来搭建自己的AI绘画服务。首先,通过创建基础云产品资源和部署AI绘画服务的步骤来开始搭建服务。然后,介绍了模板的原理和内容,以及ROS编排引擎的作用。接下来,详细介绍了AI绘画服务的一键部署过程,包括定义参数、模板的编写和ROS的使用。最后,提到了应用运行环境的搭建和自定义应用页面的方法。通过ROS的自动化部署,用户可以方便快捷地拥有自己的AI绘画服务。
|
Rust 数据安全/隐私保护 Android开发
Star 50.3k!超棒的国产远程桌面开源应用火了!
Star 50.3k!超棒的国产远程桌面开源应用火了!
461 0
Star 50.3k!超棒的国产远程桌面开源应用火了!