这是我正在使用的查询。此查询出现错误。 '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/