语法错误:WITH在此位置无效输入

时间:2017-09-25 16:58:25

标签: mysql sql common-table-expression

所以我有类似的要求

    WITH customers_in_usa AS (
        SELECT 
           customerName, state
        FROM
           customers
        WHERE
           country = 'USA'
    ) SELECT 
        customerName
    FROM
        customers_in_usa
    WHERE
        state = 'CA'
    ORDER BY customerName;

但是当写下来时我发现了一个错误:'WITH在这个位置'error_picture无效输入。你能帮我理解这段代码中的错误吗?

2 个答案:

答案 0 :(得分:5)

WITH customers_in_usa AS现在是无效的MySQL代码。 MySQL将在MySQL版本8中支持CTE。

您可以重写SQL代码,这应该会产生相同的结果。

SELECT 
    customerName
  , state
FROM 
   customers 
WHERE
   country = 'USA'
 AND
   state = 'CA'
ORDER BY
   customerName

答案 1 :(得分:1)

在版本8.0.1之前,MySQL不支持common table expressionsWITH语法。

我编写此版本时,版本8.0仍然没有生产就绪(但它处于候选版本状态,所以很快就会成为GA)。