I am trying to do some recursion inside a subquery, but it seems like I cannot use WITH
. Am I missing something or maybe a workaround?
WHERE swn.stocknode_id in
(
WITH Hierachy(stocknode_id, short_desc, PARENTNODE_ID, level)
AS
(
SELECT
a.stocknode_id,
0 AS level
FROM stock_website_node AS a
WHERE a.short_desc = 'XXXXXXXX'
AND a.PARENTNODE_ID = 0
UNION ALL
SELECT
a.stocknode_id,
ch.level + 1
FROM stock_website_node AS a
INNER JOIN Hierachy ch
ON a.PARENTNODE_ID = ch.stocknode_id
)
SELECT
stocknode_id
FROM Hierachy
WHERE level > 0
)
I meet:
Incorrect syntax near the keyword 'WITH'.
source
share