3
在PostgreSQL使用使用RECURSIVE WITH的内侧,带可以由另一个与其一起使用,例如:PostgreSQL中
WITH num AS (
VALUES (50)
), num2 AS (
SELECT column1 * 2 AS value FROM num
)
SELECT value FROM num2;
再就是RECURSIVE WITHs,其可以像这样进行:
WITH RECURSIVE t(n) AS (
VALUES (1)
UNION ALL
SELECT n+1 FROM t WHERE n < 100
)
SELECT sum(n) FROM t;
但是到目前为止,我还没有找到使用先前WITH的RECURSIVE WITH的方法。我会认为它应该是这样的:
WITH num AS (
VALUES (50)
), num2 AS (
SELECT column1 * 2 AS value FROM num
), RECURSIVE t(n) AS (
VALUES (1)
UNION ALL
SELECT n+1 FROM t WHERE n < (SELECT * FROM num2)
)
SELECT sum(n) FROM t;
但这不起作用。那么有没有办法做到这一点?如果是这样,怎么样?