1

У меня небольшая проблема с MS Access 2013. Я не могу понять, как создать запрос для отображения необходимых данных в одной таблице. Структура данных может быть проиллюстрирована следующим:

USERS 

ID  Name
001 John
002 Sarah
003 Miles 

RATING

UserID  Year    Rating
001     2012    79
001     2013    89
002     2012    78
002     2013    75
003     2012    74
003     2013    70

Таблицы связаны с полем ID пользователя. Мне нужен запрос, чтобы вернуть следующие данные:

Name    Rating in 2012  Rating in 2013 
John    79              89
Sarah   78              75
Miles   74              70

Возможно ли это в MS Access 2013? Кажется, что критерии в конструкторе запросов применяются ко всем столбцам одновременно, и я не могу по-разному их фильтровать.

1 ответ1

1

Один из способов сделать это - создать два начальных запроса, которые фильтруют рейтинги по годам:

SELECT UserId, Year, Rating
FROM Rating
WHERE (((Rating.Year)=2012));

а также

SELECT UserId, Year, Rating
FROM Rating
WHERE (((Rating.Year)=2013));

и затем последний запрос:

SELECT Users.Name, Rating2012.Rating, Rating2013.Rating
FROM Users 
LEFT JOIN Rating2012 ON Users.ID = Rating2012.UserId
LEFT JOIN Rating2013 ON Users.ID = Rating2013.UserID;

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .