gpt4 book ai didi

mysql - 如何使用第一个相关日期连接两个表?

转载 作者:行者123 更新时间:2023-11-28 23:28:51 24 4
gpt4 key购买 nike

我想使用日期作为链接连接到两个表,但是,我不想要完全匹配。第一个表的日期比第二个表的日期多,所以我希望匹配的日期是从第二个表到“最接近”日期的日期。

例子

表 1:

Date1
2016-06-01
2016-06-02
2016-06-03
2016-06-04
2016-06-05
2016-06-06
2016-06-07

表 2:

Date2
2016-06-01
2016-06-05
2016-06-07

连接表

Date1         Date2
2016-06-01 2016-06-01
2016-06-02 2016-06-01
2016-06-03 2016-06-01
2016-06-04 2016-06-01
2016-06-05 2016-06-05
2016-06-06 2016-06-05
2016-06-07 2016-06-07

希望这是有道理的。

谢谢,

回复

最佳答案

在 MySql 中,您可以使用相关子查询:

SELECT Date1, (SELECT Date2
FROM Table2
WHERE Date2 <= t1.Date1
ORDER BY Date2 DESC LIMIT 1) AS Date2
FROM table1 AS t1

Demo here

在 SQL Server 中,您可以使用CROSS APPLY:

SELECT t1.Date1, t2.Date2
FROM table1 AS t1
CROSS APPLY (
SELECT TOP 1 Date2
FROM table2
WHERE Date2 <= t1.Date1
ORDER BY Date2 DESC) AS t2

关于mysql - 如何使用第一个相关日期连接两个表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38119278/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com