使用嵌套 SELECT 访问 INSERT

Access INSERT with nested SELECT

为什么下面的 SQL 语句不起作用?

INSERT INTO dialog (speaker, dialog_text) VALUES (
    (
        SELECT FIRST(id)
        FROM FIGURE
        WHERE char_name="Doe" AND forename="John"
    ),
    "Some text"
);

它产生了这个错误:

Query input must contain at least one table or query.

单个 SELECT 语句有效。

以下作品:

   INSERT INTO dialog (speaker, dialog_text) 
            SELECT FIRST(id), "Some text"
            FROM FIGURE
            WHERE char_name="Doe" AND forename="John"

Access SQL INSERT ... VALUES 语句不允许您对 VALUES

之一使用子查询

切换到 INSERT ... SELECT 语句,因为 Piotr 会起作用。

或者您可以在 INSERT ... VALUES 语句中使用 Access Domain Aggregate 函数而不是子查询:

INSERT INTO dialog (speaker, dialog_text)
VALUES (
    DMin("id", "FIGURE", "char_name='Doe' AND forename='John'"),
    'Some text'
);