例: WITH修飾子の再帰的な共通テーブル式 - Teradata Database - Teradata Vantage NewSQL Engine - 例: 再帰的な共通テーブル式、WITH修飾子

Teradata Vantage™ SQLデータ操作言語

Product
Teradata Database
Teradata Vantage NewSQL Engine
Release Number
16.20
Published
2019年3月
Language
日本語
Last Update
2019-10-29
dita:mapPath
ja-JP/fbo1512081269404.ditamap
dita:ditavalPath
ja-JP/fbo1512081269404.ditaval
dita:id
B035-1146
Product Category
Software
Teradata Vantage

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