php+mysql数据库联合查询 left join 右侧数据重复问题
情况:多表联合查询(三表及以上联合查询)
分析:
A left join B left join C left join D
假如:
表B、C、D都与表A关联查询
A left join B 4条数据
A left join C 2条数据
A left join D 1条数据
那么:
结果会有4条数据:B表查询数据正确;C表查询数据重复2次;D表数据重复4次
解决方案:
使用子查询(下面是laravel框架写法)
$withdraw_sum=Acceptance::query()->from('vt_withdraw_master_order')->where('admin_approval_status',config('constant.WITHDRAW_APPROVAL_STATUS.approved'))->groupBy('acceptance_id')->select('acceptance_id',DB::raw('sum(order_amount) as given_money'))->getQuery();
->leftJoinSub($withdraw_sum,'withdraw_sum','vt_acceptance.id','=','withdraw_sum.acceptance_id')
Enjoy it !
php+mysql数据库联合查询 left join 右侧数据重复问题的更多相关文章
- Mysql数据库使用量查询及授权
		
Mysql数据库使用量查询及授权 使用量查询 查看实例下每个库的大小 select TABLE_SCHEMA, concat(truncate(sum(data_length)/1024/1024,2 ...
 - MySQL数据库的查询缓冲机制
		
MySQL数据库的查询缓冲机制 2011-08-10 11:07 佚名 火魔网 字号:T | T 使用查询缓冲机制,可以极大地提高MySQL数据库查询的效率,节省查询所用的时间.那么查询缓冲机制是怎样 ...
 - MySql数据库慢查询
		
一.什么是数据库慢查询? 数据库慢查询,就是查询时间超过了我们设定的时间的语句. 可以查看设定的时间: 默认的设定时间是10秒.也可以自己根据实际项目设定. set long_query_time=0 ...
 - Vc数据库编程基础MySql数据库的表增删改查数据
		
Vc数据库编程基础MySql数据库的表增删改查数据 一丶表操作命令 1.查看表中所有数据 select * from 表名 2.为表中所有的字段添加数据 insert into 表名( 字段1,字段2 ...
 - Mysql数据库备份和按条件导出表数据
		
Mysql数据库备份和按条件导出表数据 一.备份数据库 # mysqldump -u root -p dbcurr>/home/20090219.sql mysqldum为备份命令,- ...
 - laravel如何从mysql数据库中随机抽取n条数据
		
laravel如何从mysql数据库中随机抽取n条数据 一.总结 一句话总结: inRandomOrder():$userQuestions=UserQuestion::where($map)-> ...
 - MySQL数据库 —子查询,联合查询
		
一 使用IN关键字的子查询 1.查询游戏类型是'棋牌类' 的游戏的分数信息 游戏分数表中并未包含游戏类型信息 思路一:采用链接查询 思路二: 分两步进行,首先找到所以'棋牌类'游戏的编号,再以这一组编 ...
 - MySQL数据库——连接查询
		
1.基本含义 连接就是指两个或2个以上的表(数据源)“连接起来成为一个数据源”. 实际上,两个表的完全的连接是这样的一个过程: 左边的表的每一行,跟右边的表的每一行,两两互相“横向对接”后所得到的所有 ...
 - Mysql的联合查询
		
联合查询 union联合查询 语法: select 语句 union [all|distinct] select 语句; 示例: 特点: 条件:两表的查询出来的字段数目必须相同 ...
 
随机推荐
- Contest 141
			
2019-06-16 14:35:52 1089. Duplicate Zeros - Easy 问题描述: 问题求解: 很显然的可以使用O(n), O(n)的解法.主要问题在于如何在O(1)空间复杂 ...
 - [离散化+树状数组]CodeForces - 652D Nested Segments
			
Nested Segments time limit per test 2 seconds memory limit per test 256 megabytes input standard inp ...
 - promise的优势
			
通过不同的方式读取在 files 文件夹下的三个文件来引出 promise 在处理异步时与回调函数相比的优势,files 文件夹有三个文件 a.json,b.json,c.json. // a.jso ...
 - Hive学习笔记七
			
目录 函数 一.系统自带函数 二.自定义函数 三.自定义UDF函数开发案例 压缩和存储 一.Hadoop源码编译支持Snappy压缩 1.资源准备 2.jar包安装 3.编译源码 二.Hadoop压缩 ...
 - Go语言库系列之email
			
导读 大家好我是平也,今天跟大家介绍一款用来发送邮件的Go语言库email,目前星星1.3k,非常好用. 极速上手 准备工作 初始化项目 go get github.com/jordan-wright ...
 - springboot系列(三)配置文件详解
			
目录 properties 文件 1.语法 2.优先级 3.自定义数据配置 4.获取自定义数据配置 1.通过prefix获取 yml文件 1.语法 2.优先级 3.自定义数据配置. 4.获取自定义数据 ...
 - javax.el.PropertyNotFoundException: 类型[cn.cqsw.pojo.Course]上找不到属性[CourseId]
			
今天在JSP利用EL表达式取值报了 "javax.el.PropertyNotFoundException” 1 Caused by: org.apache.jasper.JasperExc ...
 - MATLAB——颜色梯度显示
			
一.colormap函数 figure surf(peaks) k=; mycolor=spring(k); colormap(mycolor); spring是颜色的分类.spring(k)生成k个 ...
 - 论redis的内存占用
			
目前大部分成程序员都将一些数据放入到了缓存(redis)中,但是你是否对这个redis内存占用了解呢?下面我们就来说一下redis的内存最优使用: 1.我们首先来介绍一下我们在存入大量数据到redis ...
 - Redis操作,数据库操作
			
Redis操作,数据库操作 案例1:源码安装Redis缓存服务 案例2:常用Redis数据库操作指令 案例3:配置Redis主从服务器 1 案例1:源码安装Redis缓存服务 1.1 问题 本案例要求 ...