
Ich habe ein kleines Problem mit MS Access 2013. Ich kann nicht herausfinden, wie ich eine Abfrage erstelle, um die benötigten Daten in einer Tabelle anzuzeigen. Die Datenstruktur kann wie folgt veranschaulicht werden:
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
Tabellen sind mit dem Benutzer-ID-Feld verknüpft. Ich brauche eine Abfrage, die die folgenden Daten zurückgibt:
Name Rating in 2012 Rating in 2013
John 79 89
Sarah 78 75
Miles 74 70
Ist das in MS Access 2013 möglich? Kriterien im Abfragekonstruktor scheinen auf alle Spalten gleichzeitig angewendet zu werden und ich kann sie nicht unterschiedlich nach Jahr filtern.
Antwort1
Eine Möglichkeit, dies zu erreichen, besteht darin, zwei erste Abfragen zu erstellen, die die Bewertungen nach Jahr filtern:
SELECT UserId, Year, Rating
FROM Rating
WHERE (((Rating.Year)=2012));
Und
SELECT UserId, Year, Rating
FROM Rating
WHERE (((Rating.Year)=2013));
und dann die letzte Abfrage:
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;