【发布时间】:2019-11-08 14:38:35
【问题描述】:
我正在尝试将几个表格组合成一行。
团队表:
+----+-------+
| id | team |
+----+-------+
| 10 | Team1 |
| 11 | Team2 |
| 12 | Team3 |
+----+-------+
位置表:
+----+-----------+
| id | location |
+----+-----------+
| 1 | location1 |
| 2 | location2 |
| 3 | location3 |
+----+-----------+
停止表:
+----+---------+-------------+---------------------+
| id | team_id | location_id | timestamp |
+----+---------+-------------+---------------------+
| 1 | 10 | 2 | 2019-11-07 15:27:42 |
| 2 | 10 | 3 | 2019-11-07 16:37:52 |
| 3 | 10 | 4 | 2019-11-07 17:47:62 |
+----+---------+-------------+---------------------+
希望创建所需的表:
+----+---------+---------------------+---------------------+---------------------+
| id | team_id | (loc id=2) | (loc id=3) | (loc id=4) |
+----+---------+---------------------+---------------------+---------------------+
| 1 | 10 | 2019-11-07 15:27:42 | 2019-11-07 16:37:52 | 2019-11-07 17:47:62 |
| 2 | 11 | | | |
| 3 | 12 | | | |
+----+---------+---------------------+---------------------+---------------------+
位置的数量总是有限的。
任何指导将不胜感激!我已经尝试了一些 LEFT JOINS,但还没有走远。
【问题讨论】:
-
请展示你的尝试,并解释为什么它们还不够远。
-
您应该添加更多信息,如果给定团队和给定位置的停止表中有两个以上的条目会发生什么?你想最近停止吗?最后一站?所有的站点?
标签: mysql database join pivot window-functions