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,

  1. créer le joint la table des noms de fruits / pays avec la table Sweetness
  2. 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.

Était-ce utile?

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 .

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top