Вопрос

У меня есть следующие 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

Сложная часть состоит в том, чтобы обозначить строки / столбцы с соответствующими именами из таблиц имени.

Я могу использовать MS доступ к проектированию 2 запросов,

  1. Создание присоединений в таблице названий фруктов / стран с таблицей сладости
  2. Выполнить запрос CrosStab

Однако у меня проблемы с этим в одном запросе. Я попытался вложить SQL 1-го запроса на 2-й, но это не работает.

К сожалению, мое решение должно быть полностью SQL, так как он является встроенным запросом SQL (не может полагаться на конструктор запросов в MS Access и т. Д.).

Любая помощь значительно ценится.

Прембо.

Это было полезно?

Решение

Как насчет:

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