项目背景

业务系统上线经常面临历史数据与系统同步问题,我们项目中的做法是

1. 新发生的项目严格走系统;

2.历史项目逐年倒推,导入系统;

因为工程项目的周期一般要超过1年,在导入2018年项目时,就会面临项目数据分布在17年、18年,甚至16年,需要对比系统中数据与财务数据、部门统计数据的差异,调整数据一致后再统一导入系统中,完成线下到线上的切换;

需求描述

需要导出系统中所有工程项目的基本信息、相关采购订单、相关合同额/送审额/审定额、开票次数、开票金额、单项拆分金额(一次开票涉及多个单项)、回款次数、回款金额

表结构

SQL

SELECTproject_engineerings.id AS '单项工程ID',project_engineerings.`code` AS '单项工程编号',project_engineerings.`name` AS '单项工程名称',project_contract_subs.`code` AS '采购订单编号',project_engineerings.contract_split_money AS '合同额',c.ssj AS '送审金额',d.sdj AS '审定金额',billing_applies.invoice_date AS '开票日期',billing_applies.invoice_code AS '发票号',count(billing_applies.pcs_kpze) AS '开票次数',SUM(billing_applies.pcs_kpze) AS '开票金额',SUM(billing_apply_pes.pe_total) AS '单项拆分金额',e.`回款次数`,e.`回款金额`
FROMproject_engineerings
#关联开票申请中单项信息表,获取单项拆分金额
LEFT JOIN billing_apply_pes ON billing_apply_pes.project_engineering_id = project_engineerings.id
#关联开票申请表,获取开票信息
LEFT JOIN billing_applies ON billing_apply_pes.billing_apply_id = billing_applies.id
#关联采购订单表,获取采购订单编号
LEFT JOIN project_contract_subs ON project_contract_subs.id = project_engineerings.project_contract_sub_id
#关联送内审节点,获取送审价格
LEFT JOIN (SELECT#送审价格保存在data_json中,需要解析SUBSTRING_INDEX(SUBSTRING_INDEX(project_engineerings_nodes.data_json,'"',14),'"',- 1) AS 'ssj',project_engineerings_nodes.project_engineerings_idFROMproject_engineerings_nodesWHEREproject_engineerings_nodes.node_name LIKE '%送内审%'LIMIT 1,100
) AS c ON c.project_engineerings_id = project_engineerings.id
#关联审定单节点,获取审定价格
LEFT JOIN (SELECT#审定价格保存在data_json中,需要解析SUBSTRING_INDEX(SUBSTRING_INDEX(project_engineerings_nodes.data_json,'"',14),'"',- 1) AS 'sdj',project_engineerings_nodes.project_engineerings_idFROMproject_engineerings_nodesWHEREproject_engineerings_nodes.node_name LIKE '%审定单%'LIMIT 1,100
) AS d ON d.project_engineerings_id = project_engineerings.id
#关联回款表,获取回款次数及金额
LEFT JOIN (SELECTinvoice_returns.pe_code,count(invoice_returns.id) AS '回款次数',sum(invoice_returns.ret_money) AS '回款金额'FROMinvoice_returnsGROUP BYinvoice_returns.pe_code
) AS e ON e.pe_code = project_engineerings.`code`
WHEREproject_engineerings.id <> 1
#针对单项分组,统计各项关联数据
GROUP BYproject_engineerings.`code`
#根据单项id排序,方便数据核对
ORDER BYproject_engineerings.id ASC

最终结果

Excel中进行对比的公式

=VLOOKUP(B2,部门提供数据!A:K,5,0)-F2

查找 部门提供数据!A:K 中与B2值相同的行,取该行第5列的数字,减去F2的值

示例:系统导出的单项合同额与部门提供的合同额偏差;

快速复制公式到列

在左上角名字处输入:Q2:Q5149 这样选中多个列;

然后 shift 输入公式 =VLOOKUP(B2,部门提供数据!A:K,6,0)-G2

然后 Ctrl+回车

SQL查询数据库中数据统计信息相关推荐

  1. (转)【mysql元数据库】使用information_schema.tables查询数据库和数据表信息 ---数据记录大小统计...

    转:https://www.cnblogs.com/ssslinppp/p/6178636.html https://segmentfault.com/q/1010000007268994?_ea=1 ...

  2. 查询数据库中数据的年份_本地公开数据中的年份

    查询数据库中数据的年份 由Alisha Green撰写 全国各州和直辖市在开放数据方面又充满了令人鼓舞的消息. 从海岸到海岸,各种规模的市政当局都批准了新的开放数据政策,现有的开放数据计划已经成熟并引 ...

  3. sql查询数据库中所有表名

    sql查询数据库中所有表名 查询数据库里所有表名和字段名的语句 SQLSERVER 查询所有表名: SELECT NAME FROM SYSOBJECTS WHERE TYPE='U' SELECT ...

  4. PostgreSQL 查询数据库中所有函数信息,函数名(全部)

    PostgreSQL 查询数据库中所有函数信息,函数名(全部) selectp .oid,p .proname,p .proargtypes,p .proacl,p .prorettype,p .pr ...

  5. SQL Server 数据库表的统计信息的更新

    最近在调整基础信息数据时,新增了几个客户类型,意想不到的事情发生了,在使用新增的客户类型作为 查询条件查询报表时,居然出现了超时的现象,但是用其他以前的客户类型查询就没有问题,用一个以前增加的 客户类 ...

  6. mvc mysql linq_MVC3+Linq to sql 显示数据库中数据表的数据

    1:首先创建asp.net mvc3应用程序 2:创建项目完成后 找到controllers文件鼠标右击选择添加控制器 3 为models文件夹添加一个linq to sql类文件,然后把数据库中的数 ...

  7. 使用SQL查询数据库中重复的数据的的三种方法

    第一种方法 select username count(*) u from user_info group by username having u>1 第二种方法 select usernam ...

  8. SQL 查询数据库中包含指定字符串的相关表和相关记录

    declare @str varchar(100) set @str='我要找的' --要搜索的字符串 declare @s varchar(8000) declare tb cursor local ...

  9. Oracle 12c数据库优化器统计信息收集的最佳实践

    Oracle 12c数据库优化器统计信息收集的最佳实践 转载自     沃趣科技(ID:woqutech) 作者         刘金龙(译) 原文链接   http://www.oracle.com ...

最新文章

  1. 糟糕的css用法 1
  2. jquery改变html元素的样式,给input标签赋值,onclick中文传参问题等
  3. dos模式下切换电脑用户
  4. access窗体中再制作查询窗体_Access
  5. 股票系列,动态规划,加油,九月太浪了,十月不许浪
  6. VTK:图像卷积用法实战
  7. 中石油训练赛 - sciorz画画(区间dp)
  8. hive函数大全:11大类、109个函数
  9. 寄存器相互映射是什么意思_STM32入门系列-STM32外设地址映射
  10. 卷积神经网络(CNN)之卷积层的实现
  11. centos下安装和卸载jdk
  12. jquery10发送ajax,使用jquery发送一个ajax请求
  13. C# 如何理解如下泛型约束 class AT:where T:class{}
  14. 1047: 对数表 ZZULIOJ
  15. 后盾网php多少钱_后盾网php视频教程:2020最热的8个后盾网免费php视频教程
  16. 以数为本、谋求智变,联通大数据“跑步”进入发展新阶段!
  17. ESP32定时器睡眠模式
  18. 【Java实现导出Word文档功能 XDocReport +FreeMarker】
  19. windows打印机服务开启方法
  20. VJ—今年暑假不AC

热门文章

  1. stm32f103 GPIO—— 一灯大师之库函数版
  2. Docker安装pgAdmin4
  3. 好开心!Google收录了我的BLOG!
  4. 自建局域网(直连和路由器、交换机)
  5. docker安装的mysql8.0主从复制搭建
  6. php 换行 html_总结html,css中的各种换行方法
  7. PAT练习——“我要通过“
  8. PHP税前税后,php计算税后工资的方法
  9. gitlab 安装与502报错
  10. linux 安装 宝塔面板