MS Access CrossTab Abfrage - über 3 Tabellen
-
26-09-2019 - |
Frage
Ich habe die folgenden drei Tabellen:
1) Süsse Tabelle
FruitIndex CountryIndex Sweetness
1 1 10
1 2 20
1 3 400
2 1 50
2 2 123
2 3 1
3 1 49
3 2 40
3 3 2
2) Fruit Namenstabelle
FruitIndex FruitName
1 Apple
2 Orange
3 Peaches
3) Land Name Tabelle
CountryIndex CountryName
1 UnitedStates
2 Canada
3 Mexico
Ich versuche, eine CrossTab SQL-Abfrage ausführen mit, um am Ende:
Fruit\Country UnitedStates Canada Mexico
Apple 10 20 400
Orange 50 123 1
Peaches 49 40 2
Der schwierigste Teil ist die Zeilen / Spalten mit den entsprechenden Namen aus den Namen Tabellen zu beschriften.
Ich kann MS Access verwenden 2 Abfragen zu entwerfen,
- Erstellen der schließt sich das Obst / Ländernamen-Tabelle mit der Süße Tabelle
- ausführen Kreuztabellen- Abfrage
Allerdings habe ich Probleme dies in einer einzigen Abfrage zu tun. Ich habe versucht, die erste Abfrage nisten SQL in die zweite, aber es scheint nicht zu arbeiten.
Leider meine Lösung braucht, um ganz SQL sein, da es eine eingebettete SQL-Abfrage ist (kann sich nicht auf Abfrage-Designer in MS Access, etc.).
Jede Hilfe sehr geschätzt.
Prembo.
Lösung
Wie wäre:
TRANSFORM First(Sweetness.Sweetness) AS FirstOfSweetness
SELECT Fruit.FruitName
FROM (Sweetness
INNER JOIN Fruit
ON Sweetness.FruitIndex = Fruit.FruitIndex)
INNER JOIN Country
ON Sweetness.CountryIndex = Country.CountryIndex
GROUP BY Fruit.FruitName
PIVOT Country.CountryName;
Andere Tipps
Ich hasse auf einer Außen Post verlassen und es als meine Antwort präsentieren, aber das ist ein ziemlich steil Thema und ich kann es nicht gerecht. Also schlage ich vor, schauen Sie unter dieser Artikel .