Mysql 为子查询使用别名时出现语法错误

Mysql syntax error when using an alias for a subquery

如果我不为子查询添加别名,我会得到错误 "Error Code: 1248\n Every derived table must have its own alias"。 如果我放置别名,我会在别名附近收到语法错误([...]syntax to use near 'bb[...])。

(出于清晰和隐私的原因,以下代码已被过度简化)

SELECT MAX(id) FROM
    (SELECT id FROM
      stoc
    WHERE id_gest IN (SELECT ida FROM nom_gest) bb
      ) aa

我尝试使用关键字 'AS' 而没有,我尝试将别名放在引号之间,我尝试了不同的括号配置,但什么也没做。

我也试过 运行 它只用了一个子查询:它没有别名也能工作。但是如果我输入别名,我会在别名附近收到语法错误([...]syntax to use near 'bb[...])。

这是一个子查询,不是派生的 table,所以您不需要别名,所以删除那个 bb。

WHERE id_gest IN (SELECT ida FROM nom_gest) bb

当您将子查询放入 FROM 部分时,它是派生的 table。