我有一个表TABLE1,其中有日期字段,它说TXN_DATE,我有另一个表TABLE2,其中还有一个名为TXN_DATE的日期字段,我需要匹配TABLE1.TXN_DATE在TABLE2.TXN_DATE的+3或-3天之间的表中的记录。查找范围内的记录+/-在三天的日期范围内在
任何帮助将不胜感激。
我有一个表TABLE1,其中有日期字段,它说TXN_DATE,我有另一个表TABLE2,其中还有一个名为TXN_DATE的日期字段,我需要匹配TABLE1.TXN_DATE在TABLE2.TXN_DATE的+3或-3天之间的表中的记录。查找范围内的记录+/-在三天的日期范围内在
任何帮助将不胜感激。
Select t1. column_name
From TABLE1 t1, Table2 t2
Where
(
(T1.TXN_DATE=(T2. TXN_DATE +INTERVAL 1 DAY)) or (T1.TXN_DATE=(T2. TXN_DATE +INTERVAL 2 DAY)) or (T1.TXN_DATE=(T2. TXN_DATE +INTERVAL 3 DAY)) or (T1.TXN_DATE=(T2. TXN_DATE - INTERVAL 1 DAY)) or (T1.TXN_DATE=(T2. TXN_DATE - INTERVAL 2 DAY)) or (T1.TXN_DATE=(T2. TXN_DATE - INTERVAL 3 DAY))
) ;
Oracle解决方案:
SELECT *
FROM table1 t1
INNER JOIN
table2 t2
ON (t1.TXN_DATE BETWEEN t2.TXN_DATE - INTERVAL '3' DAY
AND t2.TXN_DATE + INTERVAL '3' DAY);
您已经标记了甲骨文和MySQL - 它们是两种不同的RDBMS - 哪一个是你问的问题吗? – MT0
首先,正确标记。如果我们为错误的dbms发布解决方案,这是毫无用处的。其次,学习如何提问。这是一个很好的链接。 https://stackoverflow.com/help/how-to-ask。第三,你到目前为止尝试过什么? – Eric
删除标签状态为“Oracle”中的MySQL标签。 – MT0