Komplexe 3-Wege-SQL join (wo die Tabelle 3 hat der join-Tabelle 2-vor Eintritt in Tabelle 1)

Habe ich drei vorhandenen SQL-Tabellen, wir rufen Sie an "teams", "miles" und "Fahrer". Ohne die Flusen, Ihre Struktur sieht wie folgt aus:

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        |
--------------+-----------+----------+

Brauche ich, um eine Liste der teams, die insgesamt km generiert, das team (ich auch zurückgeben müssen, team captain ' s name, aber das ist ein bisschen einfacher).
Die Schwierigkeit ist, dass ich brauchen, um beizutreten Kilometer auf die Fahrer, die Summe der "miles" - Feld, und dann kommen Sie, die auf teams irgendwie.

Ändern der Tabellenstruktur ist ziemlich viel aus, da dies eine bestehende Anwendung. Dies ist eine LAMPE, die Umwelt so zu manipulieren PHP-arrays nach der Abfrage ist eine option, wenn nötig.

Schreibe einen Kommentar