我有以下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个查询,
但是我在单个查询中遇到这个问题。我试图将第一个查询的SQL嵌套到第二个,但它似乎不起作用。
不幸的是,我的解决方案需要完全是SQL,因为它是一个嵌入式SQL查询(不能依赖于MS Access中的查询设计器等)。
非常感谢任何帮助。
Prembo。
答案 0 :(得分: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;
答案 1 :(得分:0)
我讨厌依靠外部帖子并将其作为我的答案,但这是一个相当陡峭的主题,我无法正义。所以我建议你看一下this article。