如何创建 MS Access 查询以根据条件在列中显示数据?

如何创建 MS Access 查询以根据条件在列中显示数据?

我在使用 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

实现此目的的一种方法是创建两个按年份过滤评级的初始查询:

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;

相关内容