我有user1表:
id |date
1 2018-01-01
2 null
3 2018-01-01
4 null
另一个表user2:
id |date_buy
1 2018-01-01
1 2018-01-02
2 2018-01-01
2 2018-01-02
3 2018-01-01
4 2018-01-01
我想做一个select查询,从表user1中选择id和日期,但是如果date字段为空,那么它将取这个用户购买的最小日期,并用它填充缺少的日期。
所以我的第一个想法是:-对第一个表select id,date from user1进行简单查询
在第二个表上做一个简单的查询,选择id,min(date\u buy)作为user2 group by id的日期
将这两个查询合并,并在date不为null的情况下进行区分
它给出了类似于:
SELECT distinct id, date
from (SELECT id, date
from user1
UNION
select id, min(date_buy) as date
from user2 group by id)
where date is not null
但我很难塑造这一点,让它发挥作用。
2条答案
按热度按时间hxzsmxv21#
这应该管用
dxpyg8gm2#
在 hive 里,我想我会: