我有两个看起来像这样的表:
('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
中加入了to 。ROLE_NUM
ROLE_INDEX
我正在尝试编写一个修改查询,我可以从中传递一个字符串ROLE_NAME
(例如'Follow Up'、'Outbound')等,并且它的关联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 部分的原始值设为3,它就可以工作。
我错过了什么?我想我可能需要以某种方式使用“INNER JOIN”,但我仍在学习 SQL 的基础知识,无法解决这个特定问题以及 Access 抛出它所犯错误的原因。