如何为追加查询Microsoft Access定义目标

时间:2015-03-17 15:39:38

标签: sql database ms-access inner-join

我正在尝试在MS Access中附加两个表。这是我目前查询的SQL视图:

INSERT INTO MainTable
SELECT 
FROM Table1 INNER JOIN Table2 ON Table1.University = Table2.University;

“大学”是 在两个表之间具有相似性的唯一字段名称。当我尝试运行查询时,出现此错误:

Query must have at least one destination field.

我假设我的SQL的INSERT INTO MainTable部分正在定义目的地,但显然我错了。如何指定目的地?

3 个答案:

答案 0 :(得分:3)

您必须从select语句中选择一些内容。

INSERT INTO MainTable
SELECT col1, col2
FROM Table1 INNER JOIN Table2 ON Table1.University = Table2.University;

答案 1 :(得分:3)

除了Luke Ford's answer (这是正确的)之外,还有另外需要考虑的问题:

MS Access (至少是Access 2000,我刚测试过它)似乎与名称相匹配。
换句话说,当您从Luke的回答中执行查询时:

INSERT INTO MainTable
SELECT col1, col2
FROM ...

... MS Access假定MainTable有两列名为col1col2,并尝试将col1从您的查询中插入到col1MainTable,等等。

如果MainTable中的列名不同,则需要在INSERT子句中指定它们。

让我们说MainTable中的列名为foobar,然后查询需要如下所示:

INSERT INTO MainTable (foo, bar)
SELECT col1, col2
FROM ...

答案 2 :(得分:0)

正如其他用户所提到的,您的ActionBarDrawerToggle声明为空。如果您想选择仅SELECT的更多内容,那么这是可能的。如果要选择要附加的两个表中的所有列,可以使用col1, col2,它将选择表中的所有内容。