在第一家公司工作大概有一年之后,我的上司开始让我负责一个项目了。

说起这个项目,其实就是类似一个报表系统的抽数据的活。我的主要工作就是将我们公司产生的数据进行抽取清理,然后生成一些带有分析性质的数据。

说干就干了,在项目开始的最初阶段,还是免不了需求分析。真的,如果不明确需求,做出来的数据再好看也是白搭。公司在沟通上有点好处就是装了腾讯通(RTX),有什么不清楚的可以直接在上面找到相关负责人进行沟通,不需要大老远的当面去咨询,对于那时候比较羞涩的我还是挺好的一个工具。

需求分析结束了,就开始设计相关表格了,那时候还不懂数据建模,只是把一些必须的数据都往一个表里放,中间如果有转换的再建个中间表而已。虽然在我离职听说这个项目还在运行,但是感觉没完善好,这些就是后话了。那时候建表就直接在SQL Server 2008上填了,定义好主键外键以及一些约束条件就完事了,贼快了。之后就开始码代码了。因为项目不大,前前后后我一个人就能搞定,只要抽数转换的逻辑正确,一般没什么问题,但就是这个逻辑上出了点问题。

数据之间的相互关联一般都用JOIN...ON来匹配两个表之间的数据,但是在匹配的时候如果匹配的条件错了,那就是差之毫厘失之千里了。

我记得是在计算一个发货数据的时候,两个表里面都有发货数据,理论上只要匹配上这些发货数据的订单ID就OK了,但是有个表里面有个发货状态,另外一个则没有,在计算的时候由于没有确定具体的发货状态,导致计算出来的结果比实际大了好多,这归根揭底还是没有对业务了解清楚。

虽然后来这个问题解决了,但是如果我当时把匹配出来明细仔细核对一遍,一眼就看出来了。我的上司后来也教育我做数据的一定要谨慎,不能有一点不清不楚,马虎大意。技术虽然掌握了,但是怎么将技术正确的发挥还是靠人,人才是最后的执行者,得对自己的东西负责!

当时说的我真的无地自容,自己也非常惭愧,从那以后凡是涉及写操作的语句我都会先查询一遍再写入到数据库,这样才能发现你写入的数据有没有问题。而不是想当然只要逻辑正确就OK了!

有关JOIN ON的心得体会的更多相关文章

  1. 从实例学习 Go 语言、"基础与进阶" 学习笔记及心得体会、Go指南

    第一轮学习 golang "基础与进阶"学习笔记,Go指南练习题目解析.使用学习资料 <Go-zh/tour tour>.记录我认为会比较容易忘记的知识点,进行补充,整 ...

  2. 关于Solr的使用总结的心得体会

    摘要:在项目中使用Solr作为搜索引擎对大数据量创建索引,提供服务,本文是作者对Solr的使用总结的一点心得体会, 具体包括使用DataImportHandler从数据库中近实时同步数据.测试Solr ...

  3. 加快FineReport报表设计的几个心得体会

    加快FineReport报表设计的几个心得体会 一.从远程服务器大批量取数进行表样设计时,最好按“列顺序”取一个“空的SQL语句”,这样可提高设计速度.否则每次设计时模板均要从远程读取数据,速度相当慢 ...

  4. 十天来学习java的心得体会

    有关学习java是几天来的心得体会: 十天学习java遇到很多问题,每个问题都是经过反复的看书本以及上网查找资料来解决的,发现这一点真的需要自己来而不是去遇到什么问题就去依靠他人(师兄.同学).在其中 ...

  5. Git的基本使用方法和安装&心得体会

    1. git的安装和github的注册.代码托管.创建organization.邀请member. (1)git的安装 因为我电脑是windows系统,所以下载的是git for windows.在官 ...

  6. "琳琅满屋"调查问卷 心得体会及结果分析

    ·关于心得体会       当时小组提出这个校园二手交易市场的时候,就确定了对象范围,仅仅是面向在校大学生,而且在我们之前就已经有了很多成功的商品交易的例子可以让我们去借鉴,再加上我们或多或少的有过网 ...

  7. 关于多本小说站的SEO—从”易读中文网”获得的心得体会

    从目前国内的网站流量来说,电影站,小说站,游戏站等的流量占总流量的比例还是很高的,许多站长把目光投入到了这几个方面,本文就着重来说对于小说站,尤其是多本小说站的SEO心得体会! 对于小说站来说,只要排 ...

  8. AngularJS心得体会

    AngularJS早些时候有过了解,知道这是一个JS的MVC框架,同类型的框架还有Backbone等.这次是由于项目需要,学习了两天的Angular后开始着手改之前的项目代码,这里大概说一下这一周学习 ...

  9. 关于Dropdownlist使用的心得体会

    2013-07-23关于Dropdownlist使用的心得体会: Dropdownlist使用最多的几个属性: 一.Dropdownlist.Items,负责包含所有选项的容器 DropDownLis ...

随机推荐

  1. css背景精华所在+前端页面开发流程

    background属性 background属性是css中应用比较多,且比较重要的一个属性,它是负责给盒子设置背景图片和背景颜色的,background是一个复合属性,它可以分解成如下几个设置项: ...

  2. ascii2native 转码 解码

    //把十六进制的编码转为原码function asciiHex2native(strAscii) { var output = ""; var posFrom = 0; var p ...

  3. js(window.open)浏览器弹框居中显示

    <span style="background-color: rgb(204, 204, 204);"><html> <meta name=" ...

  4. Java并发编程--1.Thread和Runnable

    创建线程 Java有两种方式创建线程, 继承Thread类和实现Runnable接口 继承Thread 步骤: 1.自定义一个类继承Thread类, 重写run方法 2.创建自定义类的对象,调用sta ...

  5. 20145203盖泽双 《Java程序设计》第四周学习总结

    20145203盖泽双 <Java程序设计>第四周学习总结 教材学习内容总结 1.多个类中存在相同属性和行为时,将这些内容抽取到单独一个类中,那么多个类无需再定义这些属性和行为,只要继承单 ...

  6. [原创]C/C++语言中,如何在main.c或main.cpp中调用另一个.c文件

    C/C++语言中,如何在main.cpp中调用另一个.c文件主要有5种思路: 1.在VS2012 IDE中,将被引用的.c文件后缀名全部修改为.h,然后通过IDE的解决方案资源管理器中鼠标右键单击“头 ...

  7. bootstrap 多级下拉菜单

    如上效果: 实现代码: 导入js和css: <link rel="stylesheet" href="http://cdn.static.runoob.com/li ...

  8. 897. Increasing Order Search Tree

    题目来源: https://leetcode.com/problems/increasing-order-search-tree/ 自我感觉难度/真实难度:medium/easy 题意: 分析: 自己 ...

  9. 检测ip和地区

    获取当前位置所在省份城市和所用网络IP <!DOCTYPE html> <html> <head> <meta charset="utf-8&quo ...

  10. PHP原生开发的各大音乐平台API接口

    支持以下音乐平台 网易云音乐 QQ音乐 酷狗音乐 酷我音乐 虾米音乐 百度音乐 一听音乐 咪咕音乐 荔枝FM 蜻蜓FM 喜马拉雅FM 全民K歌 5sing原创 5sing翻唱 若是数据获取失败 方案一 ...