MS Access requête CrossTab - sur 3 tables
-
26-09-2019 - |
Question
Je les 3 tableaux suivants:
1) Douceur Tableau
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) de fruits Nom de la table
FruitIndex FruitName
1 Apple
2 Orange
3 Peaches
3) Nom de la table Pays
CountryIndex CountryName
1 UnitedStates
2 Canada
3 Mexico
Je suis en train d'effectuer pour finir avec une requête SQL CrossTab:
Fruit\Country UnitedStates Canada Mexico
Apple 10 20 400
Orange 50 123 1
Peaches 49 40 2
La partie difficile est d'étiqueter les lignes / colonnes avec les noms pertinents des tables de noms.
Je peux utiliser MS Access pour concevoir 2 requêtes,
- créer le joint la table des noms de fruits / pays avec la table Sweetness
- Exécuter la requête crosstab
Cependant, je vais avoir du mal à faire cela dans une seule requête. Je l'ai essayé l'imbrication de SQL de la 1ère requête dans le 2ème, mais il ne semble pas fonctionner.
Malheureusement, mes besoins de solution à être entièrement SQL, car il est une requête SQL embarqué (ne peut pas compter sur concepteur de requêtes dans MS Access, etc.).
Toute aide grandement appréciée.
Prembo.
La solution
Que diriez-vous:
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;
Autres conseils
Je déteste compter sur un poste extérieur et de le présenter comme ma réponse, mais cela est un sujet joli raide et je ne peux pas le faire justice. Donc, je vous suggère de regarder cet article .