在使用js报表工具的时候,常常需要提供json数据进行显示,

在sql查询的时候就需要构造合适的查询结果出来;

就用到了合并两个没有关联关系的表数据,

SELECT
SUM(a1.amount) AS amount,
a1.date
FROM
((SELECT
SUM(amount) AS amount,
DATE_FORMAT(time,'%Y-%m-%d') AS date
FROM a
GROUP BY date)
UNION ALL
(SELECT -SUM(b.VALUE) AS s2,
DATE_FORMAT(b.time,'%Y-%m-%d') AS d2
FROM
b
GROUP BY d2)) AS a1
GROUP BY a1.date
//a表收款,b表付款,计算每天的收益(收款-付款)
//根据日期(天)分组,对两个表中的金额进行计算
//注意时间字段名称,a表相同位置的字段会覆盖b表字段名称,所以使用union要求两个表有相同的字段
//最后根据合并后时间进行分组,计算收益(计算差)
使用union 或union all
如select * from a union all select * from b 竖排合并两个表的数据
显示格式如:
a date

-204   2015-07-06
220    2015-07-15
-60    2015-07-16
220    2015-07-17

//另外一种情况,根据不同条件得到的值赋予不一样的别名(在不同的列显示)

SELECT
a.date,
sum(a.c1) AS s1,
SUM(a.c2) AS s2
FROM(
SELECT
DATE_FORMAT(b.time, '%Y-%m-%d') AS date,
IFNULL((
CASE b.sta
WHEN 0 THEN COUNT(*) END),0
) AS c1,
IFNULL((
CASE b.sta
WHEN 1 THEN COUNT(*) END),0
) AS c2
FROM b
GROUP BY b.sta,date
) AS a
GROUP BY a.date
//根据类型sta=0/=1,时间分组,统计个数

得到的数据格式:

date               s1 s2

2015-07-06    4   1
2015-07-08    0   1
2015-07-15    0   1
2015-07-16    1   3

sql 合并查询结果的更多相关文章

  1. for xml path以及sql合并查询

    sql中for xml path的用法. http://www.cnblogs.com/yanghaibo/archive/2010/06/04/1751405.html

  2. mysql两条sql合并查询总数

    select IFNULL(c.nodeCount,0) + IFNULL(c.phyCount,0) as totalCount from ( select count(*) nodeCount, ...

  3. oracle 基础SQL语句 多表查询 子查询 分页查询 合并查询 分组查询 group by having order by

    select语句学习 . 创建表 create table user(user varchar2(20), id int); . 查看执行某条命令花费的时间 set timing on: . 查看表的 ...

  4. SQL多表合并查询结果

    两表合并查询,并同时展示及分页SELECT a.* FROM ( ( SELECT punycode, `domain`, 'Success' AS state, add_time, AS refun ...

  5. SQL SERVER连接、合并查询

    ----创建测试表MyStudentInfoCREATE table MyStudentInfo(  Id int not null primary key,  Name varchar(16),  ...

  6. sql 内连接 子查询 合并查询

    -- 内连接:-- 显示员工姓名.工资和公司所在地 select e.ename, e.sal, d.dname from emp e,dept d; -- 笛卡尔积 select e.ename, ...

  7. 学习SQL关联查询

    通过一个小问题来学习SQL关联查询 原话题: 是关于一个left join的,没有技术难度,但不想清楚不一定能回答出正确答案来: TabA表有三个字段Id,Col1,Col2 且里面有一条数据1,1, ...

  8. oracle的多表合并查询-工作心得

    本随笔文章,由个人博客(鸟不拉屎)转移至博客园 发布时间: 2018 年 11 月 29 日 原地址:https://niaobulashi.com/archives/oracle-select-al ...

  9. SQL中查询语句的使用

    常用SQL查询语句 - myLittleGarden - 博客园 http://www.cnblogs.com/sunada2005/p/3411873.html 一.简单查询语句 1. 查看表结构 ...

随机推荐

  1. egg 连接mysql 在mysql 插入数据

    1.配置mysql exports.mysql = { enable: true, package: 'egg-mysql' }; 'use strict'; module.exports = app ...

  2. c++后台开发面试常见知识点总结(四)数据库

    数据库的索引类型 聚集索引和非聚集索引的区别(叶节点存储内容) 唯一性索引和主码索引的区别 索引的优缺点,什么时候使用索引,什么时候不能使用索引(重点) 索引最左前缀问题 数据库中事务的ACID 数据 ...

  3. InnoDB事务之redo log工作原理

    Reference:https://time.geekbang.org/column/article/121710 InnoDB是一个事务性的存储引擎,而InnoDB的事务实现是基于事务日志redo ...

  4. 【leetcode】662. Maximum Width of Binary Tree

    题目如下: Given a binary tree, write a function to get the maximum width of the given tree. The width of ...

  5. Anaconda 安装 pytorch报错解决方法

    一.安装Pytorch: # -c 指定用pytorch镜像源下载软件conda install pytorch torchvision cpuonly -c pytorch 报错: 二.配置: ch ...

  6. nucleus plus学习总结

    前言:     最近一直都在看nucleus plus,之前看过一些linux内核的一些东西,但都是停留在文字上,代码看的很少,这个nucleus plus内核的代码量不大,看过source code ...

  7. 【Beta阶段】第十一次Scrum Meeting!

    第十一周会议记录 [Beta阶段]第十一次Scrum Meeting! 一.每日任务内容 本次会议为第十一次Scrum Meeting会议~ 本次会议主要探讨了各自进展以及后续要继续开展的工作. 小组 ...

  8. Nginx加载多个CPU核心,worker_cpu_affinity

    配置Nginx多核CPU,worker_cpu_affinity使用方法和范例1. 2核CPU,开启2个进程 worker_processes 2;worker_cpu_affinity 01 10; ...

  9. Linux桌面与命令行切换

    1.首先在安装Linux的时候是选则Desktop桌面方式安装 2.切换命令 2.1快捷键:Ctrl+Alt+F1    切换到桌面模式 Ctrl+Alt+F3    切换到命令行模式

  10. php开发面试题---php缓存总结

    php开发面试题---php缓存总结 一.总结 一句话总结: 缓存主要分本地缓存和分布式缓存两种 可以用分布式本地缓存:把那些常用的.不容易变的页面.数据都存下来 1.常用的缓存构架? 分布式本地缓存 ...