【发布时间】:2018-04-16 12:49:31
【问题描述】:
我有 2 张桌子:
表 1
id date_measured value 1
1 01/01/2017 5
1 02/20/2017 6
1 04/01/2017 5
2 03/02/2017 5
2 04/02/2017 3
表 2
id date_measured value 2
1 01/06/2017 5
1 03/01/2017 6
2 02/01/2017 5
2 03/09/2017 7
2 04/05/2017 4
我想加入它,以便每个 id 匹配并且最近的日期匹配:
id date_measured1 value 1 date_measured2 value 2
1 01/01/2017 5 01/06/2017 5
1 02/20/2017 6 03/01/2017 6
2 02/01/2017 5 02/01/2017 5
2 03/02/2017 5 03/09/2017 7
2 04/02/2017 3 04/05/2017 4
等等。每个测量日期的每个 id 的 IE 取另一个表中最接近的测量日期并使其成为一行。接近的东西
SELECT *
FROM table1 a
INNER JOIN table2 b
ON a.id = b.id
AND <date from a is closest date from b>
但我不知道如何做第二部分。有什么建议吗?
【问题讨论】:
-
你的 rdbms 是什么? Sql Server、postgres、oracle?
-
Sql server 很抱歉,我发布后不久就被卷入其中