8.5实习工作日记

今天做一个数据报表的需求,主要是提供产品数据监控指标。作为一个hive小白,第一次建表获得数据,生疏地不要不要的,当然遇到了许多很基础的小问题,不过为了督促自己进步,我决定每天自己写一份工作日记,总结当天工作的内容或者心路历程,啥都可以,感觉有点复盘的意思,应该还蛮有意义的。

问题1: 多表关联,连接Key值统一,但是各表连接的key值不全。比如有三个表x,y,z,我要从各个表中获得相应的字段,然后连接起来,但是,每个表中key值不一定会全,但需要最终结果产生有数据对应的各个key值以及相应的指标字段。

解决方法:使用full outer join, 将所有表连接在一起,然后将除了key以外字段的空值使用nvl函数转化为0。那么,最后该如何selecy key呢?有一个和nvl函数相似的函数coalesce,

  • 语法: COALESCE(T v1, T v2, …) 

  • 返回参数中的第一个非空值;如果所有值都为NULL,那么返回NULL

这样,就select各表都有的key值。

问题2: 多表关联,连接条件也就是在on的后面,应该选择哪两个表的key值作为判断条件呢?

之所以提出这个问题,是因为,我在今天跑数的结果由于on所选择的表不同,结果也不一样。我很迷,现在还没有想明白是什么原因,如果之后弄明白了,会回来接着补充。

有点晚了,明天还要接着上班呢,给自己说一声加油,晚安。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值