【问题标题】:Cant use insert with subquery不能将插入与子查询一起使用
【发布时间】:2015-09-15 15:45:56
【问题描述】:

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

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

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

访问返回错误,说:

指令 INSERT INTO 包含未知字段 C

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

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

错误:字段数不匹配。

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

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

那么这里有问题吗?

【问题讨论】:

    标签: sql ms-access ms-access-2010 insert-into ansi-sql-92


    【解决方案1】:

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

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

    浪费了1个多小时来解决。

    【讨论】:

    • 为什么子查询INSERT INTO phones(a, b) select C, D from banks;不起作用?
    • @lad2025 正如我所说,代码有效,因为它没有任何子查询
    猜你喜欢
    • 2018-07-28
    • 2022-12-04
    • 2015-04-10
    • 2014-08-18
    • 2018-04-16
    • 2018-07-04
    • 1970-01-01
    • 1970-01-01
    • 2015-12-17
    相关资源
    最近更新 更多