我有一张这样的table。
id | eventtime
--------------
1 | 2020-05-01 10:00:12
2 | 2020-04-03 04:04:23
3 | 2020-06-01 00:01:00
表b
qid|id | timestamp | status
-------------------------------------
1 | 1 | 2020-04-03 01:00:00 | Y
2 | 1 | 2020-05-02 04:11:00 | N
3 | 2 | 2020-04-02 03:00:00 | Y
4 | 4 | 2020-06-01 01:00:00 | N
5 | 4 | 2020-06-03 01:00:00 | Y
我想连接这些表,但是当时间戳>表a的事件时间时,它应该返回表b的数据。
例如:
从表b中,
对于id 1,我有3行,但是我需要选择timestamp>tablea.eventtime所在的行
所以呢 2 | 1 | 2020-05-02 04:11:00 | N
对于ID2,时间戳值小于表的事件时间,所以跳过这个。
所以选定的行是, 2 | 1 | 2020-05-02 04:11:00 | N
对于ID4,没有eventtime,实际上,表a上没有ID4的行。所以现在我需要传递一个默认的时间戳。就是这样 2020-06-02 00:00:00
所以选定的行是 5 | 4 | 2020-06-03 01:00:00 | Y
###预期产量:
qid|id | timestamp | status
-------------------------------------
2 | 1 | 2020-05-02 04:11:00 | N
5 | 4 | 2020-06-03 01:00:00 | Y
我写这个逻辑的时候卡住了?有人能帮我吗?
2条答案
按热度按时间lx0bsm1f1#
我想这正是你想要的:
wljmcqd82#
您可以在查询中使用case语句。