不能将插入与子查询一起使用

Cant use insert with subquery

这个问题真的很奇怪,我相信与Access本身有关。

我正在尝试以这种方式插入(真正简化的版本,但无论如何错误都是一样的):

INSERT INTO phones(a, b)
select * from ( select C, D from banks) AS BB;

访问returns错误,表示:

Instruction INSERT INTO consist unknown field C

然后我尝试了另一个查询,看起来是一样的:

INSERT INTO phones(a, b)
select BB.* from ( select C, D from banks) AS BB;

Error: The number of field isn't matching.

但是没有子查询的查询效果很棒!

INSERT INTO phones(a, b)
select C, D from banks;

所以这是错误的?

正如我现在看到的,Access 无法匹配字段本身,这就是为什么子查询中的名称应该相同的原因:

INSERT INTO phones(a, b)
select * from ( select C as a , D as b from banks) AS BB;

浪费了1个多小时才解决