MS Access:将列和行组合到唯一的行

时间:2014-08-29 21:58:26

标签: crosstab

目前我的表格如下所示:

+-----+---------+-----+----+----+----+----+----+----+
| 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 个答案:

答案 0 :(得分:0)

您没有尝试创建CrossTab,您尝试使用CrossTab数据并显示正常。不要以为你可以用CrossTab做到这一点。您可以使用70 UNION的ed查询执行此操作。 IE,

SELECT AID, Name, TID, 01 FROM MyTable
UNION
SELECT AID, Name, TID, 02 FROM MyTable
...ETC...