mysql - 如何在几天内加入两个 MySQL 表?
问题描述
情况如下:我正在尝试加入两个 MySQL 表,每个表都包含邮轮航行的事务日志。两个表都将包括以下字段:名字、姓氏、金额、交易日期、邮轮公司、船舶和航行日期。
我正在尝试确定每个表上的哪些事务可以肯定地与另一个事务匹配以用于簿记目的。到目前为止,这是一件相当简单的事情,在名字、姓氏、金额、邮轮、船舶、航行日期上使用 INNER JOIN ......但至于交易日期,我正在寻找一个范围,其中两个日期在一对夫妇之内彼此的日子。这是因为一个交易可能在另一个数据库之后一两天被人输入到一个数据库中。
我需要在 MySQL 中使用某种方法来匹配其中一个表上的事务日期发生在另一个表上 +/- 2 天的事务,并且仍然匹配我列出的所有其他字段。任何帮助将不胜感激!
解决方案
您可以在子句中使用DATEDIFF()
以天为单位返回 2 个日期之差的函数:ON
ON ..... AND ABS(DATEDIFF(t1.SailingDate, t2.SailingDate)) <= 2
推荐阅读
- python-3.x - elif command == "quit": ^ IndentationError: unindent 不匹配任何外部缩进级别
- file - 如何过滤包含重复字符的单词?
- javascript - 包含承诺的单元测试处理程序
- java - 连接到 SQL Server 时 Android 崩溃
- python - 根据 Foreign Model 的日期范围将模型与 ForeignKey 匹配
- c - Printf 参数顺序被忽略
- excel - 选择变量范围并用值“NA”替换空白字段
- html - 在css中缩放带有阴影的图像
- python - 使用 Pandas 对与主键和辅助键相关的所有值求和
- java - 如何修复 Firebase 注册身份验证?