2010-05-12 2 views
1

에서 내가 가지고있는 다음과 같은 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 액세스를 사용할 수 있습니다

,

  1. (가) 단맛 테이블과 과일/국가 이름 테이블을 조인 만들
  2. 나는 데 그러나

  • 는 크로스 탭 쿼리를 수행 단일 쿼리에서이 작업을 수행하는 데 문제가 있습니다. 두 번째로 첫 번째 쿼리의 SQL을 중첩 시키려고했지만 작동하지 않습니다.

    불행히도 내 솔루션은 전체 SQL이되어야합니다. 포함 된 SQL 쿼리 (MS Access 등에서 쿼리 디자이너에 의존 할 수 없음)이기 때문입니다.

    도움을 주시면 감사하겠습니다.

    Prembo.

  • 답변

    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; 
    
    +0

    Brilliant! Remou 대단히 감사합니다. 완벽하게 일했습니다. – Prembo

    0

    내가 외부 게시물에 의존하고 내 대답으로 제시 싫어하지만,이 꽤 가파른 주제 내가 그것을 정의 할 수 없습니다. 그래서 나는 당신이 this article을 보길 권한다.