クエリで複数の CTE を使用したいのですが、うまくいきません。以下は、私がやりたいことの例です。
WITH tbl1 AS
(SELECT *
FROM tblStuff)
WITH tbl2 AS
(SELECT tbl1.fldStuff1 ...
FROM tbl1, tblStuff2)
SELECT *
FROM tbl2
クエリで複数の CTE を使用したいのですが、うまくいきません。以下は、私がやりたいことの例です。
WITH tbl1 AS
(SELECT *
FROM tblStuff)
WITH tbl2 AS
(SELECT tbl1.fldStuff1 ...
FROM tbl1, tblStuff2)
SELECT *
FROM tbl2
一度だけ指定する必要がありますWITH
。次に、追加の CTE をコンマで区切ってリストできます。例えば:
WITH cte1 AS
(
...
),
cte2 AS
(
...
)
SELECT ...;
WITH tbl1 AS
(SELECT *
FROM tblStuff),
tbl2 AS
(SELECT tbl1.fldStuff1, tbl1.fldStuff2, tblStuff2.fldStuff1, tblStuff2.fldStuff2
FROM tbl1, tblStuff2)
SELECT *
FROM tbl2
複数の CTE を使用する場合、追加の WITH は必要ありません。コンマで区切ります。