次のような 2 つのテーブルがあります。
('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_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'));
しかし、次のエラーが表示されます: クエリ入力には、少なくとも 1 つのテーブルまたはクエリが含まれている必要があります。
ただし、SELECT role_num FROM role_index WHERE role_name='Follow Up'
独自のクエリに入れると機能します。同様に、 SELECT 部分全体に3などの生の値を指定すると、機能します。
私は何が欠けていますか?何らかの形で「INNER JOIN」を使用する必要があると思いますが、まだ SQL の基礎を学んでおり、この特定の問題と Access がエラーをスローする理由を理解できません。