假设我有 2 个表 A 和 B,分别包含开始时间和结束时间的信息。主键是 id 和时间戳的组合。因此,没有 2 个记录可以具有相同的 id 和时间戳
一个
id | start time
1 | 2016-02-06 17:03
1 | 2016-03-09 18:09
2 | 2017-02-07 23:34
3 | 2016-02-07 19:12
3 | 2016-02-07 23:52
...
B
id | end time
1 | 2016-02-06 18:32
1 | 2016-03-09 21:11
2 | 2017-02-08 01:22
3 | 2016-02-07 21:32
3 | 2016-02-08 02:11
...
我的最终结果应该是这样的
id | start time | end time
1 | 2016-02-06 17:03 | 2016-02-06 18:32
1 | 2016-03-09 18:09 | 2016-03-09 21:11
2 | 2017-02-07 23:34 | 2017-02-08 01:22
3 | 2016-02-07 19:12 | 2016-02-07 21:32
3 | 2016-02-07 23:52 | 2016-02-08 02:11
...
显然我不能只加入 ID,因为 id 1 和 3 分别出现两次。我当天也无法加入,因为第三条和第五条记录跨越了 2 个不同的日子。那么有没有办法连接这两个表呢?任何帮助将非常感激!谢谢!
最佳答案
我同意 Barmar 的观点,并鼓励您重新审视您的数据模型。我希望开始时间和结束时间位于同一张表中。
虽然现有的 ID 可能是 user_id 之类的,但如果该 ID 在此表中重复,则应该有一些其他唯一标识符(可能是 transaction_id)来唯一标识每个记录。
关于mysql - 连接这两个表的方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58943852/