gpt4 book ai didi

mysql连接值之间的差异最小?

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

原则上我有 2 个表 T1 和 T2,每个表都包含一个日期字段,我们称之为日期:

T1: date | somekey  | data ... 
T2: date | somekey | data ...

我想(左)连接 T1 和 T2,以便结果包含 T1 中的所有行。

现在,对于 T1 的每一行,我需要 T2 的(恰好一个)行中的值,其中 ABS(DATEDIFF(T1.date,T2.date)) 是最小的并且 T1.somekey=T2.somekey(如果 T2 中没有这样的行,则为 null)

最佳答案

不要在JOIN子句中做,放在WHERE子句中即可。

SELECT
*
FROM
T1
LEFT JOIN T2 ON T1.somekey = T2.somekey
WHERE
ABS(DATEDIFF(T1.date,T2.date)) = 1 /*or whatever "minimal" means for you*/
/*or like this:*/ < $yourMinimalValue

编辑:

我想我得到了你想要做的,但是子查询是去这里的方式:

SELECT
*
FROM
T1
LEFT JOIN T2 ON T1.somekey = T2.somekey
WHERE
ABS(DATEDIFF(T1.date,T2.date)) = (SELECT MIN(DATEDIFF(TT1.date, TT2.date)) FROM T1 AS TT1 LEFT JOIN T2 AS TT2 ON TT1.somekey = TT2.somekey)

关于mysql连接值之间的差异最小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10992769/

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