有关JOIN ON的心得体会
在第一家公司工作大概有一年之后,我的上司开始让我负责一个项目了。
说起这个项目,其实就是类似一个报表系统的抽数据的活。我的主要工作就是将我们公司产生的数据进行抽取清理,然后生成一些带有分析性质的数据。
说干就干了,在项目开始的最初阶段,还是免不了需求分析。真的,如果不明确需求,做出来的数据再好看也是白搭。公司在沟通上有点好处就是装了腾讯通(RTX),有什么不清楚的可以直接在上面找到相关负责人进行沟通,不需要大老远的当面去咨询,对于那时候比较羞涩的我还是挺好的一个工具。
需求分析结束了,就开始设计相关表格了,那时候还不懂数据建模,只是把一些必须的数据都往一个表里放,中间如果有转换的再建个中间表而已。虽然在我离职听说这个项目还在运行,但是感觉没完善好,这些就是后话了。那时候建表就直接在SQL Server 2008上填了,定义好主键外键以及一些约束条件就完事了,贼快了。之后就开始码代码了。因为项目不大,前前后后我一个人就能搞定,只要抽数转换的逻辑正确,一般没什么问题,但就是这个逻辑上出了点问题。
数据之间的相互关联一般都用JOIN...ON来匹配两个表之间的数据,但是在匹配的时候如果匹配的条件错了,那就是差之毫厘失之千里了。
我记得是在计算一个发货数据的时候,两个表里面都有发货数据,理论上只要匹配上这些发货数据的订单ID就OK了,但是有个表里面有个发货状态,另外一个则没有,在计算的时候由于没有确定具体的发货状态,导致计算出来的结果比实际大了好多,这归根揭底还是没有对业务了解清楚。
虽然后来这个问题解决了,但是如果我当时把匹配出来明细仔细核对一遍,一眼就看出来了。我的上司后来也教育我做数据的一定要谨慎,不能有一点不清不楚,马虎大意。技术虽然掌握了,但是怎么将技术正确的发挥还是靠人,人才是最后的执行者,得对自己的东西负责!
当时说的我真的无地自容,自己也非常惭愧,从那以后凡是涉及写操作的语句我都会先查询一遍再写入到数据库,这样才能发现你写入的数据有没有问题。而不是想当然只要逻辑正确就OK了!
有关JOIN ON的心得体会的更多相关文章
- 从实例学习 Go 语言、"基础与进阶" 学习笔记及心得体会、Go指南
第一轮学习 golang "基础与进阶"学习笔记,Go指南练习题目解析.使用学习资料 <Go-zh/tour tour>.记录我认为会比较容易忘记的知识点,进行补充,整 ...
- 关于Solr的使用总结的心得体会
摘要:在项目中使用Solr作为搜索引擎对大数据量创建索引,提供服务,本文是作者对Solr的使用总结的一点心得体会, 具体包括使用DataImportHandler从数据库中近实时同步数据.测试Solr ...
- 加快FineReport报表设计的几个心得体会
加快FineReport报表设计的几个心得体会 一.从远程服务器大批量取数进行表样设计时,最好按“列顺序”取一个“空的SQL语句”,这样可提高设计速度.否则每次设计时模板均要从远程读取数据,速度相当慢 ...
- 十天来学习java的心得体会
有关学习java是几天来的心得体会: 十天学习java遇到很多问题,每个问题都是经过反复的看书本以及上网查找资料来解决的,发现这一点真的需要自己来而不是去遇到什么问题就去依靠他人(师兄.同学).在其中 ...
- Git的基本使用方法和安装&心得体会
1. git的安装和github的注册.代码托管.创建organization.邀请member. (1)git的安装 因为我电脑是windows系统,所以下载的是git for windows.在官 ...
- "琳琅满屋"调查问卷 心得体会及结果分析
·关于心得体会 当时小组提出这个校园二手交易市场的时候,就确定了对象范围,仅仅是面向在校大学生,而且在我们之前就已经有了很多成功的商品交易的例子可以让我们去借鉴,再加上我们或多或少的有过网 ...
- 关于多本小说站的SEO—从”易读中文网”获得的心得体会
从目前国内的网站流量来说,电影站,小说站,游戏站等的流量占总流量的比例还是很高的,许多站长把目光投入到了这几个方面,本文就着重来说对于小说站,尤其是多本小说站的SEO心得体会! 对于小说站来说,只要排 ...
- AngularJS心得体会
AngularJS早些时候有过了解,知道这是一个JS的MVC框架,同类型的框架还有Backbone等.这次是由于项目需要,学习了两天的Angular后开始着手改之前的项目代码,这里大概说一下这一周学习 ...
- 关于Dropdownlist使用的心得体会
2013-07-23关于Dropdownlist使用的心得体会: Dropdownlist使用最多的几个属性: 一.Dropdownlist.Items,负责包含所有选项的容器 DropDownLis ...
随机推荐
- B/S网络概述
B/S网络架构 随着Web2.0时代的到来,互联网的网络架构已经从传统的C/S架构转变到更加方便快捷的B/S架构.这样的转化简化了人们上网的方式,也加速了互联网行业的发展. B/S架构的好处: 1.客 ...
- CSS控制边界、边框与外轮廓
一.CSS控制边界 1.内边距 padding(内边距也叫内填充) padding-bottom 长度/百分比 元件下端边线的空隙 padding-left 长度/百分比 元件左端边线的空隙 padd ...
- 【模板】.bat对拍
对拍是个很有用的东西,比如在验证贪心策略是否正确时,可以写上个暴力然后和贪心程序对拍上几个小时. 在c++里用system写对拍总是会出现一些莫名其妙的问题.. 比如my.out明明是1 fc的时候却 ...
- ASP.NET web api 跨域请求
1.学习文章:AJAX 跨域请求 - JSONP获取JSON数据 1.asp.net代码 参考文章:http://www.sxt.cn/info-2790-u-756.html (1).增加CorsH ...
- 【2015蓝桥杯省赛】C++ B组试题
1.奖券数目 作答:52488,正确 #include <iostream> using namespace std; bool check(int x) { ] = { }; while ...
- Tomcat出现需要输入账号和密码问题
这里是端口冲突问题: 可以做一下几个解决方案: 第一:更好Tomcat/conf/server.xml文件里面的制定8080端口号,更改为你能记住的端口数: 第二:找到冲突的端口的进程,杀死这个进程, ...
- js replace 全局替换
js 的replace 默认替换只替换第一个匹配的字符,如果字符串有超过两个以上的对应字符就无法进行替换,这时候就要进行一点操作,进行全部替换. <script language="j ...
- 运行第一个ruby程序
0x00 安装 首先需要安装一个ruby的环境,ruby分为win.linux.macOS版本.不用系统安装方法略有差异,不在这进行讲解. 0x01 运行第一个ruby程序 我这里是win环境,打开命 ...
- 快速链接bioconductor,以及安装“XML”
options(useHTTPS=FALSE, BioC_mirror="http://bioconductor.org") source("http://biocond ...
- vue组件引入失败原因之一
引入组件的时候,路径问题 引入当前文件夹的另外一个文件:import ZiZuJianOne from 'ZiZuJianOne.vue',提示: 加上:“./”让把路径变成:import ZiZuJ ...