Преобразование ранжированных данных в таблице доступа - PullRequest
0 голосов
/ 23 мая 2011

У меня есть таблица в базе данных Access, как показано ниже;

Name | Range   | X  | Y  | Z
------------------------------
A    | 100-200 | 1  | 2  | 3
A    | 200-300 | 4  | 5  | 6
B    | 100-200 | 10 | 11 | 12
B    | 200-300 | 13 | 14 | 15
C    | 200-300 | 16 | 17 | 18
C    | 300-400 | 19 | 20 | 21

Я пытаюсь написать запрос, который преобразует это в следующий формат.

Name | X_100_200 | Y_100_200 | Z_100_200 | X_200_300 | Y_200_300 | Z_200_300 | X_300_400 | Y_300_400 | Z_300_400 
A    | 1         | 2         | 3         | 4         | 5         | 6         |           |           | 
B    | 10        | 11        | 12        | 13        | 14        | 15        |           |           |
C    |           |           |           | 16        | 17        | 18        | 19        | 20        | 21

После попытки некоторое времялучший способ, который я мог бы придумать, - написать кучу коротких запросов, которые выбирают данные для каждого диапазона, а затем снова соединить их, используя запрос Union.Проблема в том, что для этого примера я показал 3 столбца (X, Y и Z), но у меня на самом деле гораздо больше.Доступ начинает напрягать из-за количества SQL, который я придумал.

Есть ли лучший способ добиться этого?

1 Ответ

0 голосов
/ 23 мая 2011

Ответ был прост. Просто используйте Access Pivotview. Однако трудно экспортировать результаты в Excel.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...