【问题标题】:join two tables with date interval 3 days before and 3 days after加入两个表,日期间隔为 3 天前和 3 天后
【发布时间】:2017-09-02 21:22:17
【问题描述】:

我正在尝试加入下面的两个表

表 1

ID    | submit_checkdate
----- | -----------
1     | 2017-07-31
2     | 2017-07-31
3     | 2017-07-31
4     | 2017-07-15

表 2

ID    | actual_checkdate
----- | ----------
1     | 2017-07-30
2     | 2017-07-25
3     | 2017-08-01
4     | 2017-07-15

预期结果

ID    | actual_checkdate | submit_checkdate
----- | ----------       | ----------
1     | 2017-07-30       | 2017-07-31
3     | 2017-08-01       | 2017-07-31
4     | 2017-07-15       | 2017-07-15

基本上,我需要结果显示提交检查日期前后 3 天内的所有实际检查日期。

不确定我应该加入带有间隔的表格还是在wherr中加入

【问题讨论】:

  • 所以你需要一个任何检查日期都小于 72 小时的视图,对吧?
  • 我需要一个包含小于 72 小时和大于等于 72 小时的任何检查日期的视图。

标签: mysql intervals datediff dateinterval


【解决方案1】:

将条件添加到联接中。
on actualcheckdate between dateadd (dd, -3, submitcheckdate) and dateadd (dd, 3, submitcheckdate)
或者不管它应该是哪种方式

【讨论】:

    【解决方案2】:

    类似的东西。

    SELECT * FROM table1 INNER JOIN table2 ON table2.actual_checkdate BETWEEN dateadd (dd, -3, table1.submitcheckdate) AND dateadd (dd, 3, table1.submitcheckdate)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-02-25
      • 2013-05-18
      • 2012-11-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多