0
from句で再帰CTEを使用しようとしています。DB2サブクエリのCTE
with i (i) as (
values (1)
union all
select i + 1 from i
where i < 3
)
select * from i;
I
-------------
1
2
3
しかし、私はfrom
句でそれをしようとすると:このCTEは、それ自体で動作します
select *
from (
with i (i) as (
values (1)
union all
select i + 1 from i
where i < 3
)
select * from i
) i;
ERRO próximo da linha 1:
SQL0104N An unexpected token "as" was found following "*
from (
with i (i)". Expected tokens may include: "JOIN".
同様の構築物はPostgreSQLで動作します。私は何が欠けていますか? DB2照会の最初の文でなければならない「と」
なぜあなたは 'FROM'句でCTEが必要なのですかみては?私にはX-Yの問題のように見えます。ご覧のとおり、DB2では構文的に正しくありません(意味的には不要です)。 – mustaccio
@mustaccioまた、選択リスト内の相関サブクエリかもしれませんが、私はそれが横方向結合でよりきれいになると思いました。相関サブクエリは今はテストできません。それは合法ですか? –