1

次の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

難しいのは、名前テーブルの関連する名前で行/列にラベルを付けることです。

MS Access を使用して 2 つのクエリを設計できます。

  1. 果物/国名テーブルと甘味テーブルの結合を作成します
  2. クロス集計クエリを実行する

ただし、これを単一のクエリで実行するのは困難です。最初のクエリの SQL を 2 番目のクエリにネストしようとしましたが、うまくいかないようです。

残念ながら、私のソリューションは完全に SQL である必要があります。これは、埋め込み SQL クエリであるためです (MS Access のクエリ デザイナーなどに頼ることはできません)。

どんな助けでも大歓迎です。

プリボ。

4

2 に答える 2

1

どうですか:

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;
于 2010-05-12T16:00:32.713 に答える
0

外部の投稿に頼ってそれを私の答えとして提示するのは嫌いですが、これはかなり難しいトピックであり、正当化することはできません. ですから、この記事をご覧になることをお勧めします。

于 2010-05-12T16:00:46.937 に答える