嵌套选择查询适用于 PostgreSQL 但不适用于 MySQL

jo_sione

下面的嵌套 SELECT 查询适用于 PostgreSQL 但不适用于 MySQL,我不知道为什么:

INSERT INTO
    employees(
        id,
        first_name,
        last_name,
        job_title,
        base_salary,
        commission_pct
    )
VALUES
    (
        400,
        'Elise',
        'Ryan',
        'Auditing Clerk',
        (
            SELECT
                MAX(base_salary)
            FROM
                employees
            WHERE
                job_title = 'Auditing Clerk'
        ),
        (
            SELECT
                AVG(commission_pct)
            FROM
                employees
            WHERE
                job_title = 'Auditing Clerk'
        )
    )

以下是 MySQL 给我的错误消息

错误代码:1093。您不能在 FROM 子句中指定要更新的目标表“员工”**

埃希尔瓦纳

这应该适用于两个:

INSERT INTO
    employees(
        id,
        first_name,
        last_name,
        job_title,
        base_salary,
        commission_pct
    )
SELECT
    400,
    'Elise',
    'Ryan',
    'Auditing Clerk',
    MAX(base_salary),
    AVG(commission_pct)
FROM
    employees
WHERE
    job_title = 'Auditing Clerk'

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章