MS Access Crosstab Query - عبر 3 طاولات
-
26-09-2019 - |
سؤال
لدي الجداول الثلاثة التالية:
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 to Design 2 Queries ،
- قم بإنشاء TONINS the Fruit/Country Names Table مع طاولة الحلاوة
- أداء استعلام Crosstab
ومع ذلك ، أواجه مشكلة في القيام بذلك في استعلام واحد. لقد حاولت تعشش SQL الاستعلام الأول في الثانية ، لكن لا يبدو أنه يعمل.
لسوء الحظ ، يجب أن يكون حلي SQL بالكامل ، لأنه استعلام SQL مضمن (لا يمكن الاعتماد على مصمم الاستعلام في Access MS ، إلخ).
أي مساعدة موضع تقدير كبير.
بريمبو.
المحلول
ماذا عن:
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