MS访问交叉表查询 - 跨越3个表
问题描述:
我有以下3个表:MS访问交叉表查询 - 跨越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
我试图执行交叉表的SQL查询直到结束:
Fruit\Country UnitedStates Canada Mexico
Apple 10 20 400
Orange 50 123 1
Peaches 49 40 2
具有挑战性的部分是标记的行/从名称表的相关名称的列。
我可以使用MS Access设计2个查询,
- 创建了甜头表中加入水果/国名表
- 执行交叉表查询
但是我有麻烦在单个查询中完成。我试图将第一个查询的SQL嵌套到第二个中,但它似乎不起作用。
不幸的是,我的解决方案需要完全是SQL,因为它是一个嵌入式SQL查询(不能依赖MS Access中的查询设计器等)。
任何帮助非常感谢。
Prembo。
答
如何:
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;
太棒了!非常感谢Remou。完美工作。 – Prembo 2010-05-14 02:52:36