1

我的任务是创建一个语句,该语句创建一个表,然后从两个不同表的连接中插入值。

这是一项可怕的任务,只是为小型应用程序提供数据,因为它无法处理视图(以及那部分的 SQL 服务器)

这让我想到了我的 CREATE 声明:

CREATE TABLE resultstable1_DIFF (
[Id] Counter Primary key not null,
[km] number,
[Diff] float) 

和 INSERT 语句

Insert Into resultstable1_DIFF(km, Diff)
SELECT Round(A.km, 4), Round(X.y - A.y, 4)
FROM sourcetable_1_HQ100 as A INNER JOIN sourcetable_2 as X
ON Round(A.km, 4)  = Round(X.km, 4)

不幸的是,UNION 在这里不起作用。有人可以指出我正确的方向吗?我的目标是为大约 50 个源表对创建一个循环。

如果 VBA 宏会产生更优雅和可重用的解决方案,那对我来说很好。

亲切的问候。

4

1 回答 1

2

我猜 Access 支持SELECT... INTO所以尝试使用:

SELECT Round(A.km, 4) as km, Round(X.y - A.y, 4)  as Diff
Into resultstable1_DIFF
FROM sourcetable_1_HQ100 as A INNER JOIN sourcetable_2 as X
ON Round(A.km, 4)  = Round(X.km, 4)

但这是 ID 字段的问题。我猜你不能这样制作一个PK场:

"你可能想为新表定义一个主键,当你创建表时,新表中的字段继承查询的基础表中每个字段的数据类型和字段大小,但没有其他字段或表属性转移。”

于 2013-10-30T08:25:19.667 回答