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 |
--------------+-----------+----------+
(나는 또한 팀 주장의 이름을 반환 할 필요가 있지만, 조금 더 쉽다) : 보풀을 떠나, 그 구조는 다음과 같다 . 어려움은 내가 라이더에서 마일에 가입하고, "마일"필드를 합산 한 다음, 어떻게 든 팀에 합류해야한다는 것입니다.
테이블 구조를 변경하는 것은 기존 응용 프로그램이므로 거의 바뀝니다. 이것은 램프 환경이므로 쿼리 후 PHP 배열을 조작하면 필요할 경우 옵션으로 사용할 수 있습니다.
나는 team_id 고유 가정; 그로 그룹화가 충분해야합니다. –
놀랍게도 대부분의 데이터베이스는 목록별로 그룹에 나타나지 않는 경우 집계되지 않은 열을 선택 목록에 포함시키지 않습니다. –
누군가가 나를 MS Access를 사용하여 쿼리를 작성하라고 요청할 때마다 나를 괴롭 히며 ... –