我有 2 个表:tbl1、tbl2。
CREATE TABLE tbl1(time_1)
AS VALUES
( '2017-09-06 15:26:03'::timestamp ),
( '2017-09-06 15:26:02' ),
( '2017-09-06 15:28:01' ),
( '2017-09-06 15:40:00' );
CREATE TABLE tbl2(time_2)
AS VALUES
( '2017-09-06 15:29:01'::timestamp ),
( '2017-09-06 15:40:00' ),
( '2017-09-06 15:23:59' ),
( '2017-09-06 15:45:58' );
Run Code Online (Sandbox Code Playgroud)
我想加入表格,因此对于 tbl1 中的每一行都匹配 tbl2 中最接近的时间。输出是:
time_1 time_2
--------------------- --------------------
2017-09-06 15:26:03 2017-09-06 15:23:59
2017-09-06 15:26:02 2017-09-06 15:23:59
2017-09-06 15:28:01 2017-09-06 15:29:01
2017-09-06 15:40:00 2017-09-06 15:45:58
Run Code Online (Sandbox Code Playgroud)
我知道如何找到最近时间的单个值:
SELECT * from tbl1 where time_1=INPUT_TIME ORDER BY case …
Run Code Online (Sandbox Code Playgroud)