我看起來像這樣的兩個表:使用INSERT INTO與「SELECT」提供一些值,而不是其他(Access 2010中)
('MASTER_EOD' TABLE)
ID SHA1_HEX ROLE
----------------------------
1 ff34bb03 2
2 eef0a005 1
('ROLE_INDEX' TABLE)
ROLE_NUM ROLE_NAME
--------------------------
1 Welcome Calls
2 Follow Up
3 Outbound
應當指出的是,ROLE
在ROLE_INDEX
加入到ROLE_NUM
表。
我試圖寫一個修改查詢,我可以從ROLE_NAME
傳遞一個字符串(如「跟進」,「出站」)等和它相關的ROLE_NUM
將被放入「ROLE
」列。
我試着用下面的查詢來完成這個測試;
INSERT INTO master_eod (sha1_hex, role)
VALUES ('ef03ff03',(SELECT role_num FROM role_index WHERE role_name='Follow Up'));
,但我得到了以下錯誤: 查詢輸入必須包含至少一個表或查詢。
但是,如果我把SELECT role_num FROM role_index WHERE role_name='Follow Up'
到它自己的查詢,它的工作原理..同樣,如果我整個SELECT部分與原始值,例如,它的工作原理。
我錯過了什麼?我想我可能需要以某種方式使用'INNER JOIN',但我仍然在學習SQL的基礎知識,無法圍繞這個特定問題包裝頭,以及爲什麼Access會拋出它所做的錯誤。
你甚至不知道你可以通過'SELECT'命令傳遞靜態值。我也喜歡下面提到的Dlookup()方法,但是你的方式看起來更像SQL! – timonippon