【发布时间】:2012-06-15 02:32:10
【问题描述】:
原则上我有 2 个表 T1 和 T2,每个表都包含一个日期字段,我们称之为日期:
T1: date | somekey | data ...
T2: date | somekey | data ...
我想(left)join T1 and T2,这样结果就会包含 T1 中的所有行。
现在,对于 T1 中的每一行,我需要 T2 的(恰好一个)行中的值,其中 ABS(DATEDIFF(T1.date,T2.date)) 最小且 T1.somekey=T2.somekey (如果 T2 中没有这样的行,则为 null)
【问题讨论】:
-
“最小差异”是什么意思
-
据我所知 DATEDIFF 产生一个整数值,表示两个日期之间的天数差。如果 T2 中有与条件匹配的行,则必须有一个特定行的差异最小。抱歉,我无法更清楚地表达这一点。
标签: mysql join left-join minimum