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