
Tengo un pequeño problema con MS Access 2013. No puedo entender cómo crear una consulta para mostrar los datos necesarios en una tabla. La estructura de datos se puede ilustrar con lo siguiente:
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
Las tablas están conectadas con el campo de ID de usuario. Necesito una consulta para devolver los siguientes datos:
Name Rating in 2012 Rating in 2013
John 79 89
Sarah 78 75
Miles 74 70
¿Es posible en MS Access 2013? Los criterios del constructor de consultas parecen aplicarse a todas las columnas simultáneamente y no puedo filtrarlas por año de manera diferente.
Respuesta1
Una forma de lograrlo sería crear dos consultas iniciales que filtren las calificaciones por año:
SELECT UserId, Year, Rating
FROM Rating
WHERE (((Rating.Year)=2012));
y
SELECT UserId, Year, Rating
FROM Rating
WHERE (((Rating.Year)=2013));
y luego la consulta final:
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;