Выбор SQL на основе критериев - PullRequest
0 голосов
/ 18 ноября 2018

В моих попытках создать следующий запрос в MS Access 2016 я пытался обдумать это, но, похоже, не получилось.Моя цель - выполнить следующее: «Перечислите имя и общее количество лет опыта каждого тренера« Тигров », который имеет 15 или более лет опыта».Ниже представлены 3 разных таблицы: КОМАНДА, ТРЕНЕР, ОПЫТ РАБОТЫ.Что, кажется, вызывает у меня самую большую проблему, так это подсчет всего опыта работы, который имеет тренер.

Ожидаемый результат от запроса должен дать:

ИМЯ ТРЕНЕРА |ОБЩЕЕ ЧИСЛО ОПЫТА YRS

ADAMS |25

image1
image2
image3

1 Ответ

0 голосов
/ 19 ноября 2018

Рассмотрим:

Запрос1: SumExp

SELECT Sum(WorkExperience.WEXP_Yrs) AS SumOfWEXP_Yrs, WorkExperience.CoachNum
FROM WorkExperience
GROUP BY WorkExperience.CoachNum;

Запрос2:

SELECT WorkExperience.TeamNum, Coach.CoachName, SumExp.SumOfWEXP_Yrs
FROM 
    Coach INNER JOIN 
    (
        SumExp INNER JOIN 
        (
            Team INNER JOIN WorkExperience 
            ON Team.TeamNum = WorkExperience.TeamNum
        )
        ON SumExp.CoachNum = WorkExperience.CoachNum
    )
    ON Coach.CoachNum = SumExp.CoachNum
WHERE 
    WorkExperience.TeamNum = 24;

Все в одном:

SELECT WorkExperience.TeamNum, Coach.CoachName, SumExp.SumOfWEXP_Yrs
FROM 
    Coach INNER JOIN
    (
        (
            SELECT Sum(WorkExperience.WEXP_Yrs) AS SumOfWEXP_Yrs, WorkExperience.CoachNum
            FROM WorkExperience
            GROUP BY WorkExperience.CoachNum
        ) AS SumExp 
        INNER JOIN 
        (
            Team INNER JOIN WorkExperience 
            ON Team.TeamNum = WorkExperience.TeamNum
        ) 
        ON SumExp.CoachNum = WorkExperience.CoachNum
    )
    ON Coach.CoachNum = SumExp.CoachNum
WHERE 
    WorkExperience.TeamNum = 24;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...