年前事情比较多,博客不能每天更新了。

1、union all 纵向建表和left join 横向建表的数据结构区别 先贴代码 后面再补充

(#销售确认额
SELECT '05收货销售额' AS 标识,城市,餐馆ID,销售员,订单号 AS 订单ID,订单日期 AS 订单时间,SKUID,NULL AS 相应ID,NULL AS 相应名称,类型,单位,销量 AS 数量,'A收货确认额' AS 类型1,成本额 AS 相应成本,销售额 AS 金额,毛利额 AS 毛利,应收日 AS 收货时间
FROM `a005_account`
WHERE 销售额<>0 AND 订单日期>='2017-01-01' AND 订单日期<CURRENT_DATE
)
UNION ALL
(#销售成本额
SELECT '05收货成本额' AS 标识,城市,餐馆ID,销售员,订单号 AS 订单ID,订单日期 AS 订单时间,SKUID,NULL AS 相应ID,NULL AS 相应名称,类型,单位,销量 AS 数量,'B收货成本额' AS 类型1,成本额 AS 相应成本,0-成本额 AS 金额,0 AS 毛利,应收日 AS 收货时间
FROM `a005_account`
WHERE 销售额<>0 AND 订单日期>='2017-01-01' AND 订单日期<CURRENT_DATE
)
UNION ALL
(#赠品额
SELECT '05收货赠品' AS 标识,城市,餐馆ID,销售员,订单号 AS 订单ID,订单日期 AS 订单时间,SKUID,NULL AS 相应ID,NULL AS 相应名称,类型,单位,销量 AS 数量,'C赠品成本' AS 类型1,成本额 AS 相应成本,0-成本额 AS 金额,0-成本额 AS 毛利,应收日 AS 收货时间
FROM `a005_account`
WHERE 销售额=0 AND 订单日期>='2017-01-01' AND 订单日期<CURRENT_DATE
)
UNION ALL
(#优惠券
SELECT '16优惠券' AS 标识,c1.城市,c1.餐馆ID,c2.销售员,c1.订单号 AS 订单ID,c1.下单时间 AS 订单时间,NULL AS SKUID,c1.优惠券ID AS 相应ID,c1.优惠券名称 AS 相应名称,'赠券' AS 类型,'张' AS 单位,1 AS 数量,'D优惠券成本' AS 类型1,c1.优惠券金额 AS 相应成本,0-c1.优惠券金额 AS 金额,0-c1.优惠券金额 AS 毛利,c1.收货时间
FROM `a016_order_customercoupon_xref` AS c1
LEFT JOIN `a003_order` AS c2 ON c1.订单号=c2.订单ID
WHERE c1.下单时间>='2017-01-01' AND c1.下单时间<CURRENT_DATE
)
UNION ALL
(#满减券
SELECT '36满减' AS 标识,d1.城市,d1.餐馆ID,d2.销售员,d1.订单ID,d1.下单时间 AS 订单时间,NULL AS SKUID,d1.活动ID AS 相应ID,d1.活动描述 AS 相应名称,'满减' AS 类型,'张' AS 单位,1 AS 数量,'E满减券成本' AS 类型1,d1.满减金额 AS 相应成本,0-d1.满减金额 AS 金额,0-d1.满减金额 AS 毛利,d1.收货时间
FROM `a036_order_promotion_xref` AS d1
LEFT JOIN `a003_order` AS d2 ON d1.订单ID=d2.订单ID
WHERE d1.下单时间>='2017-01-01' AND d1.下单时间<CURRENT_DATE
) UNION ALL
(#运费成本
SELECT '12运费' AS 标识,d1.城市,d1.餐馆ID,d1.销售员,d1.订单ID ,d1.订单日期 AS 订单时间,NULL AS SKUID,d1.订单包id AS 相应ID,线路 AS 相应名称,'运费' AS 类型,'件' AS 单位,件数 AS 数量,'F运费成本' AS 类型1,ROUND(d1.费用*d1.金额/d3.金额,4) AS 相应成本,ROUND(0-d1.费用*d1.金额/d3.金额,4) AS 金额,ROUND(0-d1.费用*d1.金额/d3.金额,4) AS 毛利,d2.应收日 AS 收货时间
FROM a012_cgwy_order_group2 AS d1
LEFT JOIN `a005_account` AS d2 ON d1.订单ID=d2.订单号
LEFT JOIN (
SELECT 订单包ID,SUM(金额) AS 金额
FROM `a012_cgwy_order_group2` AS d1
GROUP BY 订单包ID
) AS d3 ON d1.订单包ID=d3.订单包ID
WHERE d1.订单日期>='2017-01-01' AND d1.订单日期<CURRENT_DATE
GROUP BY d1.订单ID
)

  

mysql_union all 纵向合并建表_20170123的更多相关文章

  1. Oracle ——————建表、select、视图

    --建表 -- 关键字 : create -- 用法 : /* create table table_name ( lie1_name 数据类型 是否为空, lie2_name 数据类型 是否为空, ...

  2. dev GridControl直接打印 纵向合并单元格

    GridControl纵向合并单元格 只需设置 gridView->OptionView->AllowCellMerge=true; 效果 提示: 精确到列 前提是gridview1已经允 ...

  3. mysql优化 | 存储引擎,建表,索引,sql的优化建议

    个人对于选择存储引擎,建表,建索引,sql优化的一些总结,给读者提供一些参考意见 推荐访问我的个人网站,排版更好看: https://chenmingyu.top/mysql-optimize/ 存储 ...

  4. SQL语法精讲(包括建库、建表、建视图、查询、增加、删除、)

    SQL语法精讲(包括建库.建表.建视图.查询.增加.删除.修改) SQL分类: DDL—数据定义语言(CREATE,ALTER,DROP,DECLARE) DML—数据操纵语言(SELECT,DELE ...

  5. j接近50道经典SQL练习题,附建表SQL解题SQL

    说明 本文章整理了47道常见sql联系题,包括建表语句,表结构,习题列表,解题答案都涵盖在本文章内.文末提供了所用SQL脚本下载链接.所有解题答案都是本人自己写的,广大读者如果在阅读使用中,有任何问题 ...

  6. 大数据学习day26----hive01----1hive的简介 2 hive的安装(hive的两种连接方式,后台启动,标准输出,错误输出)3. 数据库的基本操作 4. 建表(内部表和外部表的创建以及应用场景,数据导入,学生、分数sql练习)5.分区表 6加载数据的方式

    1. hive的简介(具体见文档) Hive是分析处理结构化数据的工具   本质:将hive sql转化成MapReduce程序或者spark程序 Hive处理的数据一般存储在HDFS上,其分析数据底 ...

  7. Mysql基础语法-建库-建表(增、删、改、查、表关联及子查询)

    前言:MySQL是一个数据库管理系统,也是一个关系数据库.它是由Oracle支持的开源软件,MySQL可以在各种平台上运行UNIX,Linux,Windows等.可以将其安装在服务器甚至桌面系统上. ...

  8. Vertica 安装,建库,新建测试用户并授予权限,建表,入库

    测试环境:RHEL 6.4 + Vertica 6.1.3-7 需求:搭建Vertica数据库3节点的测试环境,建立测试用户,建表,测试数据入库. 1.各节点关闭防火墙和SELinux,配置主机名,I ...

  9. 建表过程-列名&列类型&修改表B

    怎么建表? 主键 名称 重量 价格 生产日期 保质期 产地 种类                       分析:我们只要把第一行的表头建好后,这张表也就完成了.  术语:建表的过程就是声明字段过程 ...

随机推荐

  1. LeetCode:最长公共前缀【14】

    LeetCode:最长公共前缀[14] 题目描述 编写一个函数来查找字符串数组中的最长公共前缀. 如果不存在公共前缀,返回空字符串 "". 示例 1: 输入: ["flo ...

  2. SpringMVC:学习笔记(5)——数据绑定及表单标签

    SpringMVC——数据绑定及表单标签 理解数据绑定 为什么要使用数据绑定 基于HTTP特性,所有的用户输入的请求参数类型都是String,比如下面表单: 按照我们以往所学,如果要获取请求的所有参数 ...

  3. 系统非正常关机启动后出现:an error occurred during the file system

    现象描述: 1.系统ssh登录报Too many open files in system,系统登录不进去,就直接强制关机了,开机后出现(2)的错误: 由于文件描述符用完了,需要把fs.file-ma ...

  4. 每天一个Linux命令(45)lsof命令

        lsof命令用于查看你进程打开的文件,端口(TCP.UDP),找回/恢复删除的文件,打开文件的进程.     (1)用法:     用法:  lsof  [参数]  [文件]     (2)功 ...

  5. 23种设计模式UML表示形式

    一.概况:       类关系表示:   说明:           二.创建型 1.Factory Method 意图: 定义一个用于创建对象的接口,让子类决定实例化哪一个类.Factory Met ...

  6. codeforces 155D 质数

    题意:有编号1到n的n台机器,有m次操作,操作为开启或关闭机器,成功开启机器k的条件为k和所有已经开启的机器编号互质. 思路:vis[i]数组存放占领i这个位置的机器编号,因为所有开启的机器的编号互质 ...

  7. relativePath

    比如: com.tenace tenace 2.0.1 ../pom.xml //刚开始无此句 com.spider engine 2.6.0-SNAPSHOT tenace作为pom项目已经发布至r ...

  8. jupyter && ipython notebook简介

    2017-08-19 最近用了一下 ipython notebook 也就是 jupyter,这里有一个介绍还不错: http://www.cnblogs.com/howiewang/p/jupyte ...

  9. 【bzoj2819】Nim(dfs序+树状数组/线段树)

    题目传送门:https://www.lydsy.com/JudgeOnline/problem.php?id=2819 首先根据SG定理,可得若每堆石子数量的异或值为0,则后手必胜,反之先手必胜.于是 ...

  10. jqgrid的scroll参数的使用

    scroll参数会影响addJSONData(data)方法的使用 存在scroll参数,addJSONData方法会往表格中追加数据: 不存在scroll参数时,addJSONData方法会覆盖表格 ...