如何定义附加查询 Microsoft Access 的目标
How to define destination for an append query Microsoft Access
我现在正在尝试在 MS Access 中附加两个表。这是我目前的 SQL 查询视图:
INSERT INTO MainTable
SELECT
FROM Table1 INNER JOIN Table2 ON Table1.University = Table2.University;
其中 "University" 是 会 在两个表之间具有相似性的唯一字段名称。当我尝试 运行 查询时,出现此错误:
Query must have at least one destination field.
我假设 SQL 的 INSERT INTO MainTable
部分定义了目的地,但显然我错了。如何指定目的地?
您必须 select 您的 select 陈述中的内容。
INSERT INTO MainTable
SELECT col1, col2
FROM Table1 INNER JOIN Table2 ON Table1.University = Table2.University;
除了 (这是正确的),还有一个问题需要考虑:
MS Access (至少是 Access 2000,我刚刚在其中测试过) 似乎按名称匹配列。
换句话说,当你从 Luke 的答案中执行查询时:
INSERT INTO MainTable
SELECT col1, col2
FROM ...
...MS Access 假定 MainTable
有两个名为 col1
和 col2
的列,并尝试将查询中的 col1
插入 col1
在 MainTable
中,依此类推。
如果MainTable
中的列名不同,需要在INSERT
子句中指定。
假设 MainTable
中的列名为 foo
和 bar
,则查询需要如下所示:
INSERT INTO MainTable (foo, bar)
SELECT col1, col2
FROM ...
正如其他用户所提到的,您的 SELECT
语句是空的。但是,如果您想 select 多于 col1, col2
,那是可能的。如果您想要 select 两个表中要附加的所有列,您可以使用 SELECT *
,这将 select 表中的所有内容。
我现在正在尝试在 MS Access 中附加两个表。这是我目前的 SQL 查询视图:
INSERT INTO MainTable
SELECT
FROM Table1 INNER JOIN Table2 ON Table1.University = Table2.University;
其中 "University" 是 会 在两个表之间具有相似性的唯一字段名称。当我尝试 运行 查询时,出现此错误:
Query must have at least one destination field.
我假设 SQL 的 INSERT INTO MainTable
部分定义了目的地,但显然我错了。如何指定目的地?
您必须 select 您的 select 陈述中的内容。
INSERT INTO MainTable
SELECT col1, col2
FROM Table1 INNER JOIN Table2 ON Table1.University = Table2.University;
除了
MS Access (至少是 Access 2000,我刚刚在其中测试过) 似乎按名称匹配列。
换句话说,当你从 Luke 的答案中执行查询时:
INSERT INTO MainTable
SELECT col1, col2
FROM ...
...MS Access 假定 MainTable
有两个名为 col1
和 col2
的列,并尝试将查询中的 col1
插入 col1
在 MainTable
中,依此类推。
如果MainTable
中的列名不同,需要在INSERT
子句中指定。
假设 MainTable
中的列名为 foo
和 bar
,则查询需要如下所示:
INSERT INTO MainTable (foo, bar)
SELECT col1, col2
FROM ...
正如其他用户所提到的,您的 SELECT
语句是空的。但是,如果您想 select 多于 col1, col2
,那是可能的。如果您想要 select 两个表中要附加的所有列,您可以使用 SELECT *
,这将 select 表中的所有内容。