如何使用 SQL 在 FileMaker 中查找最近的日期

How do I find Closest dates in FileMaker using SQL

找到两个表之间最接近的日期匹配的明确方法 你好,我有一个学校项目,我必须将数学导出的天数添加到高日期和低日期,然后评估导出的转折点到我的历史结果。我在 FileMaker 19 中有三个表:

带有 TurnDate 字段的 HighLowData

有20个公式的数学

TurningPoints 由使用 HighLowDate::TurnDate.

循环数学公式的脚本创建

因此每个 HighLowDate::TurnDate 产生 20 TurningPoints::cTPdate 个条目。

我在 TurningPoints cLookup 中有一个字段,我希望在其中计算 HighLowData 中最接近我的 cTPdate 的 TurnDate。

我已经尝试执行SQL ( "SELECT TurnDate FROM HighLowData JOIN TurningPoints ORDER BY ABS (HighLowDate::TurnDate - TurningPoints::cTPdate) FETCH FIRST 1 ROW ONLY"; "";"")

我承认 SQL 在我的舒适区之外。有没有其他方法可以完成任务,或者我的 SQL 可以整理一下工作吗?我知道 DATEDIFF 不适用于 FileMaker。

我尝试了 LookupNext,但它只是返回了所选行的实际 TurnDate。 提前致谢

SQL 没问题。我会使用不同的方法。

开始于

ExecuteSQL
("SELECT cTPdate 
  FROM TurningPoints
  WHERE cTPdate >=?
  ORDER BY cTPdate DESC
  FETCH FIRST 1 ROW ONLY
"; 

"";"";HighLowDate::TurnDate)

这将为您提供未来日期最接近的匹配项

反转查询,您将获得过去最接近的匹配

然后你可以比较这两天和你的日期之间的差异,得到最接近的匹配。

如果需要作为计算器可以使用 Let 语句