2013-10-30 79 views
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-ish源表對的循環。

如果一個VBA宏會導致一個更優雅和可重用的解決方案,這對我來說很好。

親切的問候。

回答

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場是這樣的:。

「你可能需要定義新表的主鍵當你 創建表,在新表中的字段繼承的數據類型 和查詢的基礎表中每個字段的字段大小,但沒有 其他字段或表屬性被傳輸。「

+0

PK字段不是必需的,並且是應用程序邏輯所要求的。創建一個只是我的習慣 – Marco

相關問題