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...