首页 文章

MS Access CrossTab查询 - 跨3个表

提问于
浏览
1

我有以下3个表格:

1) Sweetness Table

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 Name Table

FruitIndex      FruitName
1               Apple
2               Orange
3               Peaches

3) Country Name Table

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个查询,

  • 使用Sweetness表创建水果/国家/地区名称表的连接

  • 执行交叉表查询

但是我在单个查询中无法执行此操作 . 我已经尝试将第一个查询的SQL嵌套到第二个,但它似乎不起作用 .

不幸的是,我的解决方案需要完全是SQL,因为它是一个嵌入式SQL查询(不能依赖于MS Access中的查询设计器等) .

任何帮助非常感谢 .

Prembo .

2 回答

  • 0

    怎么样:

    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;
    
  • 1

    我讨厌依靠外部帖子并将其作为我的答案,但这是一个非常陡峭的主题,我无法做到公道 . 所以我建议你看看this article .

相关问题