这是我正在使用的查询。此查询出现错误。 'WITH' 子句附近的语法错误。

WITH RECURSIVE under_cust (affiliation_id, from_customer_id, to_customer_id, to_name,     parent_customer_type, child_customer_type, level)
 AS (SELECT af.affiliation_id,
       from_customer_id,
       to_customer_id,
       to_name,
       parent_customer_type,
       child_customer_type,
       0 LEVEL
     FROM   affiliation af,
                customer c
         WHERE  to_customer_id <> from_customer_id
                AND af.from_customer_id = c.customer_id
                AND af.to_customer_id = 1000022559337
         UNION ALL
         SELECT af.affiliation_id,
                af.from_customer_id,
                af.to_customer_id,
                af.to_name,
                af.parent_customer_type,
                af.child_customer_type,
                under_cust.level + 1 LEVEL
         FROM   customer c,
                affiliation af
                JOIN under_cust smr
                  ON smr.from_customer_id = af.to_customer_id
         WHERE  af.from_customer_id = c.customer_id
) SELECT affiliation_id,
   to_customer_id   parent,
   from_customer_id child,
   to_name,
   parent_customer_type,
   child_customer_type,
   level
FROM   under_cust

最佳答案

公用表表达式和 WITH 语法最近才在 sqlite version 3.8.3 中引入。

如果在旧版本上运行查询,则会出现语法错误。

升级您的 sqlite 或让您的代码在没有 WITH 语法的情况下工作。

关于sqlite - 使用 SQL 'With' 子句时出错,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24036310/

10-11 22:41
查看更多