メイン コンテンツをスキップする

WITH句を使う

WITH句は、クエリー内で後で再利用できる変数を定義するために使われます。
WITH句は次のように構造化する必要があります。
WITH $variable_name = expression       

変数は$記号で始まる必要があり、階層識別子ではない必要があります(たとえば $item.indexは有効な変数ではありません)。変数はクエリー全体で一意であることが必要です。変数値の指定に使用される式は、単純式、条件式、配列のいずれかです。

WITH句の使用は、クエリーまたはサブクエリーの先頭か、FROM-WHERE-SELECT句の前か、UNION ALL句の後であることが必要です。Talend Data Mapper ( 8.0.1-R2024-11以降のマンスリーアップデートを伴う)では、クエリーブロックの先頭にWITH句を使用することもできます。例:
WITH $limit_date = toDate('2020-05-21')
FROM order AS o
WHERE toDate(o.order_date) >= $limit_date
SELECT {
   items = (
      WITH $limit_price = 1000
      FROM o.items AS i
      LET $total_price = i.qty * i.price
      WHERE $total_price >= $limit_price
      SELECT {
        o.order_id,
        total_price = $total_price
      }
   )
}

LET句を使う句とは異なり、WITH句はクエリーごとに一度だけ評価されます。

このページは役に立ちましたか?

このページまたはコンテンツにタイポ、ステップの省略、技術的エラーなどの問題が見つかった場合はお知らせください。