MS Access: объединить столбцы и строки в уникальные строки

В настоящее время у меня есть таблица, которая выглядит следующим образом:

+-----+---------+-----+----+----+----+----+----+----+
| AID |   Name  | TID | 01 | 02 | 03 | .. | 69 | 70 |
+-----+---------+-----+----+----+----+----+----+----+
| 001 | Amy     | 3   |    |    | b  |    | d  |    |
+-----+---------+-----+----+----+----+----+----+----+
| 002 | Bob     | 3   | a  | c  |    |    |    |    |
+-----+---------+-----+----+----+----+----+----+----+
| 003 | Charley | 1   |    |    |    |    |    |    |
+-----+---------+-----+----+----+----+----+----+----+

И я пытаюсь заставить его выглядеть так:

+-----+------+-----+----------+----------+
| AID | Name | TID | Question | Response |
+-----+------+-----+----------+----------+
| 001 | Amy  | 3   | 03       | b        |
+-----+------+-----+----------+----------+
| 001 | Amy  | 3   | 69       | d        |
+-----+------+-----+----------+----------+
| 002 | Bob  | 3   | 01       | a        |
+-----+------+-----+----------+----------+
| 002 | Bob  | 3   | 02       | c        |
+-----+------+-----+----------+----------+

Я думаю, что хочу сделать запрос кросс-таблицы, но изо всех сил стараюсь обернуть голову вокруг этой концепции. Кроме того, имя столбца не имеет значения. Я просто бросил его туда, чтобы помочь соединить точки при необходимости.

Стол был накрыт в спешке, и я наконец-то нашел способ его правильно настроить. Он используется для хранения неправильных ответов на множество различных тестов (TID), и каждый столбец является номером вопроса. Очевидно, что это плохая установка, если в будущем у меня будет 71 тест на вопросы. В настоящее время у меня настроен правильно, но я пытаюсь импортировать данные без ручного прохождения около 300 строк.

1 ответ

Решение

Вы не пытаетесь создать CrossTab, вы пытаетесь взять данные CrossTab и показать их нормально. Не думайте, что вы можете сделать это с помощью CrossTab. Вы можете сделать это с помощью 70 запросов UNION. IE,

SELECT AID, Name, TID, 01 FROM MyTable
UNION
SELECT AID, Name, TID, 02 FROM MyTable
...ETC...
Другие вопросы по тегам