在使用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. 转载 Tomcat集群配置学习篇-----分布式应用

    Tomcat集群配置学习篇-----分布式应用 现目前基于javaWeb开发的应用系统已经比比皆是,尤其是电子商务网站,要想网站发展壮大,那么必然就得能够承受住庞大的网站访问量:大家知道如果服务器访问 ...

  2. function的各做写法

    function(){}()让变量快速初始化结果 var timestamp = function(){ var timestamp = Date.parse(new Date()); return ...

  3. 手写Spring事务框架

    Spring事务基于AOP环绕通知和异常通知 编程事务 声明事务 Spring事务底层使用编程事务+AOP进行包装的   = 声明事务 AOP应用场景:  事务 权限 参数验证 什么是AOP技术 AO ...

  4. List Comprehension ()(二)

    在list comprehension中加入if条件判断: >>> lines = [line.rstrip() for line in open('script2.py') if ...

  5. Java中volatile如何保证long和double的原子性操作

    原创转载请注明出处:https://www.cnblogs.com/agilestyle/p/11426473.html 关键字volatile的主要作用是使变量在多个线程间可见,但无法保证原子性,对 ...

  6. vi快捷操作

    全部删除: 按esc键后,先按gg(到达顶部),然后dG 全部复制: 按esc键后,先按gg,然后ggyG 全选高亮显示: 按esc键后,先按gg,然后ggvG或者ggVG 单行复制: 按esc键后, ...

  7. boost pointer container

    1. boost::ptr_vector #include <boost/ptr_container/ptr_vector.hpp> #include <iostream> i ...

  8. 学号 20175223 《Java程序设计》第10周学习总结

    目录 教材学习内容总结 代码调试中的问题和解决过程 1. XAMPP无法启用 MySQL 程序. 2. Ubuntu 无法下载或更新. [代码托管] 学习进度条 参考资料 目录 教材学习内容总结 第十 ...

  9. 国内网络安装ubuntu软件慢的解决方法

    以安装scikit-image为例: pip3 install scikit-image==0.13.0 -i https://pypi.tuna.tsinghua.edu.cn/simple 或者 ...

  10. Python单元测试示例

    这是使用单元测试框架unittest进行的单元测试,并输出测试结果. 首先定义一个类,三个方法.第一个方法是判断两个字符串是否相等,第二个方法是判断结果为真:第三个方法也是判断两个字符串相等. 然后是 ...