سؤال

لدي الجداول الثلاثة التالية:

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 ،

  1. قم بإنشاء TONINS the Fruit/Country Names Table مع طاولة الحلاوة
  2. أداء استعلام 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;

نصائح أخرى

أكره الاعتماد على منشور خارجي وأقدمه كإجابتي ، لكن هذا موضوع حاد للغاية ولا يمكنني فعل ذلك. لذلك أقترح عليك أن تنظر إلى هذه المقالة.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top