CI 框架多表关联查询
public function getCollectData($limit, $page, $search_user, $search_phone, $orderfield, $ordertype)
{
$this->db->select('a.id,a.mobile,a.is_del,a.register_ip,a.add_time,
b.parent_id as master_id,
ifnull(inv.award,0) as invite_moneys,
ifnull(bro.price,0) as brokerage_moneys,
ifnull(sha.read_price,0) as share_moneys,
ifnull(sha.counts,0) as share_counts,
(ifnull(inv.award,0)+ifnull(bro.price,0)+ifnull(sha.read_price,0)) as total_moneys');
$this->db->from(self::$table_name . ' a');
$this->db->join('ws_invitation b', 'a.id = b.user_id', 'left');
$this->db->join('(SELECT sum(award) as award,user_id FROM ws_invitation_log GROUP BY user_id) as inv', 'a.id = inv.user_id', 'left');
$this->db->join('(SELECT sum(price) as price,prentice_id FROM ws_brokerage_log GROUP BY user_id) as bro', 'a.id = bro.prentice_id', 'left');
$this->db->join('(SELECT sum(read_number*read_price) as read_price,count(id) as counts,
user_id FROM ws_share_record GROUP BY user_id) as sha', 'a.id = sha.user_id', 'left');
$this->db->where(['is_channel' => 0]); if ($search_user) {
$this->db->where(['a.id' => $search_user]);
}
if ($search_phone) {
$this->db->like('a.mobile', $search_phone, 'both');
}
if ($orderfield && $ordertype) {
$this->db->order_by($orderfield . ' ' . $ordertype);
} else {
$this->db->order_by('a.id DESC');
}
$this->db->group_by('a.id');
$this->db->limit($limit, $limit * ($page - 1));
return $this->db->get()->result_array();
}
CI 框架多表关联查询的更多相关文章
- CI 多表关联查询
方法一:$this->db->query("sql 语句"); 直接写sql语句 方法二: #多表关联查询 $data=$this->db->fr ...
- RDIFramework.NET 中多表关联查询分页实例
RDIFramework.NET 中多表关联查询分页实例 RDIFramework.NET,基于.NET的快速信息化系统开发.整合框架,给用户和开发者最佳的.Net框架部署方案.该框架以SOA范式作为 ...
- 【SQL】在SQL Server中多表关联查询问题
好久没有写SQL语句的多表连接查询,总在用框架进行持久化操作.今天写了一个多表关联查询,想根据两个字段唯一确定一条数据 失败的案例如下: SELECT cyb.id,ad.name FROM [Gen ...
- Spring Boot入门系列(十七)整合Mybatis,创建自定义mapper 实现多表关联查询!
之前讲了Springboot整合Mybatis,介绍了如何自动生成pojo实体类.mapper类和对应的mapper.xml 文件,并实现最基本的增删改查功能.mybatis 插件自动生成的mappe ...
- MSSQL N张表关联查询
declare @newTime varchar(50); declare @lasetTime varchar(50); set @newTime= getdate(); set @lasetTim ...
- 图解SQL多表关联查询
图解SQL多表关联查询 网上看了篇文章关于多表连接的,感觉很好,记录下来,以便日后自己学习 内连接 左连接 右连接 全外连接 1. 查两表关联列相等的数据 ...
- Oracle 数据库(oracle Database)Select 多表关联查询方式
Oracle数据库中Select语句语法及介绍 SELECT [ ALL | DISTINCT ] <字段表达式1[,<字段表达式2[,…] FROM <表名1>,<表名 ...
- ORACLE数据库多表关联查询效率问题解决方案
最近在做项目中遇到多表关联查询排序的效率问题(5张以上40W+数据的表),查询一次大概要20多秒,经过一番苦思冥想,处理方案如下: 1.软件设计初期,需要一对一关联的表应该设计在一张大表里,这样虽然字 ...
- mongodb操作之使用javaScript实现多表关联查询
一.数据控制 mongodb操作数据量控制,千万控制好,不要因为操作的数据量过多而导致失败. 演示一下发生此类错误的错误提示:
随机推荐
- Mysql多实例数据库安装应用
第1章 MySQL多实例数据库企业级应用实践 1.1 MySQL多实例介绍 前文已经讲了为什么选择MySQL数据库,以及MySQL数据库在Linux系统下的多种安装方式,同时以单实例讲解了编译方式安装 ...
- pandas包学习笔记
目录 zip Importing & exporting data Plotting with pandas Visual exploratory data analysis 折线图 散点图 ...
- JavaDay1(下)
Java learning_Day1(上) 正式开始JavaSE的基础学习 本人学习视频用的是马士兵的,也在这里献上 <链接:https://pan.baidu.com/s/1qKNGJNh0G ...
- Python常用的类库、对应的方法和属性
Python常用的类库.对应的方法和属性
- 己亥清爽恢复系列之数据文件4篇:DROP表后如何恢复(非闪回技术)
己亥清爽系列说明:清爽系列是作为恢复系列的基础篇,基于FS(File System)文件系统的手工还原恢复,也叫基于用户管理的还原恢复,来自于博客园AskScuti. 实验说明:你不小心Drop掉了一 ...
- Java基础之使用Scanner类获取用户输入
创建 Scanner 对象的基本语法: Scanner s = new Scanner(System.in); Scanner 类的 next() 方法 import java.util.Scanne ...
- 慎用--skip-grant-tables命令
该命令作用是跳过授权表,也就是说谁都能进入mysql看到所有数据表,输入任意字符账号密码都可以 当忘记账号密码时可以使用改命令修改密码,但是要随用随关,重启mysql,不然服务器上会有很大的风险. 介 ...
- JavaScript——BOM和DOM
什么是BOM bom:浏览器对象模型 什么是DOM dom:文档对象模型 BOM操作: 调用windows浏览器窗口 windows对象可以通过点调用子对象 windows.navigator对象,可 ...
- L2-3 名人堂与代金券
题解 这题的话,每一个人都要占一个排名,即使排名并列了. 对于最后一个排名来说,即使人数超过了指定的k,也要加入. 代码 #include <bits/stdc++.h> using na ...
- hadoop学习笔记(九):mapReduce1.x和2.x
一.MapReduce1.0的数据分割到数据计算的过程 MapReduce是我们再进行离线大数据处理的时候经常要使用的计算模型,MapReduce的计算过程被封装的很好,我们只用使用Map和Reduc ...