MS Access CrossTab クエリ - 3 つのテーブルにわたる
-
26-09-2019 - |
質問
次の 3 つのテーブルがあります。
1) 甘味度表
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) 果物名表
FruitIndex FruitName
1 Apple
2 Orange
3 Peaches
3) 国名表
CountryIndex CountryName
1 UnitedStates
2 Canada
3 Mexico
CrossTab SQL クエリを実行して、最終的に次のようにしようとしています。
Fruit\Country UnitedStates Canada Mexico
Apple 10 20 400
Orange 50 123 1
Peaches 49 40 2
難しい部分は、Name テーブルの関連する名前で行/列にラベルを付けることです。
MS Access を使用して 2 つのクエリを設計できます。
- 果物/国名テーブルと甘味テーブルを結合するテーブルを作成します。
- クロス集計クエリを実行する
ただし、これを単一のクエリで行うのは困難です。1 番目のクエリの SQL を 2 番目のクエリにネストしようとしましたが、うまくいかないようです。
残念ながら、私のソリューションは埋め込み SQL クエリであるため、完全に SQL である必要があります (MS Access などのクエリ デザイナーに依存できません)。
ご協力をよろしくお願いいたします。
プレンボ。
解決
いかがます:
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;
他のヒント
私は外部の投稿に依存してそれを自分の答えとして提示するのが嫌いですが、これはかなり難しいテーマであり、正当に評価することはできません。だから私はあなたが見ることをお勧めします この記事.
所属していません StackOverflow