关于mysql的三表联表查询的问题
前段时间老大给我布置了一个任务 查询用户的"余额" ,"累计消耗", 和"累计充值,也就意味着我要到数据库中的 thirpartinfo -用户余额表 rechargerecord -用户从充值表 findtelrecord -用户消费表 中去查询.
我当时写的sql是这样的(不满足业务需求): SELECT t.balance '余额', fsum(f.fee) '累计消耗', sum(r.amount) '累计充值' FROM thirdpartinfo t INNER JOIN rechargerecord r ON t.userid = r.touserid INNER JOIN fintelrecord f ON t.userid = f.userid where userid=136;
注意: 每个userid在thirartinfo表中只会有一条数据,而在其他两个表中, 每个userid都会对应一条或多条数据,所有我过我这样写sql得到的结果是错误的
这样写才是正确的: select temp.amount,temp.balance,sum(f.fee) fee from (SELECT t.balance balance,t.userid userid,sum(r.amount) amount FROM thirdpartinfo t INNER JOIN rechargerecord r ON t.userid = r.touserid where userid=141) as temp INNER JOIN findtelrecord f ON temp.userid = f.userid WHERE temp.userid =141
先将thirpartinfo表和rechargerecord用内连接查出来,然后查出来的结果作为一个临时表,再和findtelrecord表查询这样,这样查出来的数据才是正确(不会出现重复的数据).
这是我第一篇博客,希望大家多多指教
转载于:https://juejin.im/post/5b1b5b996fb9a01e4a6dffaf
关于mysql的三表联表查询的问题相关推荐
- mysql数据库之联表查询
表准备: 这次我们用到5张表: class表: student表: score表: course表: teacher表: 表结构模型: 我们针对以下需求分析联表查询: 1.查询所有的课程的名称以及对应 ...
- 什么是联表查询?(深度刨析,建议收藏)
MySQL十六;联表查询 -- =================联表查询 join========================== -- 查询 参加了考试的同学(学号,姓名,科目编号,分数) S ...
- (转)MySQL联表查询
资料源于网络 一.内联结.外联结.左联结.右联结的含义及区别 在SQL标准中规划的(Join)联结大致分为下面四种: 1.内联结:将两个表中存在联结关系的字段符合联结关系的那些记录形成记录集的联结. ...
- 【explain】MySQL联表查询中的驱动表
写在前面 1.不要求每个人一定理解 联表查询(join/left join/inner join等)时的mysql运算过程 2.不要求每个人一定知道线上(现在或未来)哪张表数据量大,哪张表数据量小 3 ...
- mysql带账号联查表_MySQL联表查询的简单示例
MySql会用到联表查询,对于刚学习的新手来说,可能会理解起来有难度.下面这篇文章就来给大家详细介绍MySQL联表查询的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧 关系型 ...
- mysql的联表查询和去重复数据
mysql的联表查询和去重复数据 /* SQLyog Ultimate v10.00 Beta1 MySQL - 5.7.17-log : Database - pusmtnew ********** ...
- mysql left join 查询_MySQL联表查询基本操作之left-join常见的坑
概述 对于中小体量的项目而言,联表查询是再常见不过的操作了,尤其是在做报表的时候.然而校对数据的时候,您发现坑了吗?本篇文章就 mysql 常用联表查询复现常见的坑. 基础环境 建表语句 DROP T ...
- mysql 回退查询_MYSQL数据库表排序规则不一致导致联表查询,索引不起作用问题...
Mysql数据库表排序规则不一致导致联表查询,索引不起作用问题 表更描述: 将mysql数据库中的worktask表添加ishaspic字段. 具体操作:(1)数据库worktask表新添是否有图片字 ...
- [慢查优化]联表查询注意谁是驱动表 你搞不清楚谁join谁更好时请放手让mysql自行判定...
写在前面的话: 不要求每个人一定理解 联表查询(join/left join/inner join等)时的mysql运算过程: 不要求每个人一定知道线上(现在或未来)哪张表数据量大,哪张表数据量小: ...
最新文章
- Linux之 proc文件系统
- 12. final修饰符
- c语言用define预处理命令定义,C语言程序设计第八章预处理命令..doc
- MySQL多字段排序乱_Mysql ORDER BY 中文排序错乱问题
- java中必检异常有哪些_Java面试题经典面试题220道(附答案)
- hive 配置mysql_Hive的mysql安装配置
- 无法序列化会话状态。请注意,当会话状态模式为“StateServer”或“SQLServer”时,不允许使用无法序列化的对象或 MarshalByRef 对象。...
- oracle clusterware 11g,Oracle11gR2clusterware启动顺序
- java 线程 定时器_java 多线程定时任务
- python之helloworld
- 李宏毅机器学习-- RNN
- 壳的概念、LordPE的使用、C#读取PE文件初步
- Matlab运行时报License错误
- 服务器被黑客攻击快速解决方案
- 登陆邮箱的方法有哪些?解析mail163邮箱如何误删恢复?
- 你的颜值打几分?——基于tensorflow实现人脸打分模型
- php编辑器浅色还是深色,程序员的IDE到底是浅色主题好还是深色主题好?
- 抖音电商如何直播带货留人,以及催促成交技巧丨国仁网络
- nginx反向代理指定dns
- Flow-edge Guided Video Completion
热门文章
- android AtomicBoolean类的使用
- Pytorch骨干网络性能测试
- OpenCV获取图像某点的颜色值,并设置某点的颜色
- 分布式文件系统—HDFS—Java API操作
- RobotFramework自动化框架—数据驱动测试
- Redis 学习笔记-NoSQL数据库 常用五大数据类型 Redis配置文件介绍 Redis的发布和订阅 Redis_事务_锁机制_秒杀 Redis应用问题解决 分布式锁
- H3C 常用接口和线缆
- 移动端测试用例设计总结-笔记
- flink RPC(akka)
- 深入理解Java虚拟机——java内存区域与内存溢出异常(一)