我有一个名为Master的Access 2007表,其中包含以下几列:
Master.UID,
Master.[Team Comments],
Master.[Judy Comments],
Master.[Sue Comments],
Master.[Paul Comments],
Master.[CSE Comments],
Master.[CSE Name],
Master.[Sue Comments1],
Master.[David Comments]
我想创建一个名为Comments的新表,如下所示:
CommentID
UID
Name
Comment
这里有几个问题:
正如你所看到的,我正试图在一张大桌子上应用一点规范化。
TIA!
答案 0 :(得分:2)
这显然是一次性操作,因此无需在一次查询中执行此操作。
这意味着它实际上非常简单,因为您可以为每个值构建单独的查询,然后逐个执行。
基本模式如下所示(对于Team Comments
列)。
insert into comments (UID, Name, Comment)
select UID, 'Team', [Team Comments] from master where [Team Comments] is not null
(请注意,我假设CommentID
是一个自动值字段,因此我根本不需要处理它)
对于两个Sue Comments
列,您只需连续执行两个类似的查询:
insert into comments (UID, Name, Comment)
select UID, 'Sue', [Sue Comments] from master where [Sue Comments] is not null
insert into comments (UID, Name, Comment)
select UID, 'Sue', [Sue Comments1] from master where [Sue Comments1] is not null
对于“CSE”列...我理解Name
列的CSE Comments
不像其他示例那样是固定的,但应该从{{1}中获取而是列
正确?如果是,则查询需要如下所示:
CSE Name