WITH修飾子で非再帰的問合わせと再帰的問合わせを混合する場合、すべての前方CTE参照またはすべての後方CTE参照を指定する必要があります。前方CTE参照と後方CTE参照を混合することはできません。
この例では、テーブルの定義は次のとおりです。
CREATE TABLE t1(a1 INT, b1 INT);
これらの文は、テーブルにデータの行を挿入します。
INS t1(1,2); INS t1(1,4); INS t1(2,3); INS t1(3,4);この文には再帰的クエリーs3およびs4が含まれています。
WITH
RECURSIVE s3 (MinVersion) AS (SELECT a1 FROM t1 WHERE a1 > 1
UNION ALL
SEL MinVersion FROM s3 WHERE MinVersion > 3),
RECURSIVE s4(MinVersion) AS (SELECT a1 FROM t1 WHERE a1 = 2
UNION ALL
SEL MinVersion FROM S4 WHERE MinVersion > 2)
SEL * FROM s3,s4;
この問合わせは、以下のような応答セットを返します。
| MinVersion | MinVersion |
|---|---|
| 3 | 2 |
| 2 | 2 |