1
我有三个现有的SQL表,我们称之为“团队”,“里程”和“骑手”。离开了绒毛,它们的结构是这样的:复杂3路SQL连接(其中表3必须在连接表1之前连接表2)
Table: teams
------------+-------------+---------+
| team_name | captains_id | team_id |
------------+-------------+---------+
| superbads | 11 | 1 |
| superflys | 12 | 2 |
------------+-------------+---------+
Table: riders
--------------+-----------+----------+
| rider_name | team_id | rider_id |
--------------+-----------+----------+
| donatello | 1 | 10 |
| leonardo | 1 | 11 |
| michelangelo| 2 | 12 |
| raphael | 2 | 13 |
--------------+-----------+----------+
Table: miles
--------------+-----------+----------+
| rider_id | miles | id |
--------------+-----------+----------+
| 10 | 100 | 1 |
| 10 | 62 | 2 |
| 11 | 110 | 3 |
| 11 | 100 | 4 |
| 12 | 8 | 5 |
| 12 | 22 | 6 |
| 13 | 29 | 7 |
| 13 | 2 | 8 |
--------------+-----------+----------+
我需要返回与该团队产生的总里程队的名单(我还需要返回球队队长的名字,但是这是一个更容易一些) 。 难度在于我需要在骑手中加入里程,将“英里数”字段加起来,然后以某种方式加入队伍。
更改表结构几乎没有,因为这是一个现有的应用程序。这是一个LAMP环境,因此如果需要,在查询之后操作PHP数组是一个选项。
我假设TEAM_ID是独一无二的;按此分组应该足够了。 – 2011-03-18 18:48:10
令人惊讶的是,如果这些列没有出现在分组依据列表中,那么大多数数据库都不会让您在选择列表中包含非聚合列。 – 2011-03-18 18:50:31
每当有人问我使用MS Access为他们写一个查询时,就会使我疯狂... – 2011-03-18 20:50:04