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

WITH句を使う

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

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

WITH句は、クエリーまたはサブクエリーの先頭に、そしてFROM-WHERE-SELECT句の前に使われる必要があります。Talend Data Mapperでは、UNION ALL句の後でも使用できます。例:
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句はクエリーごとに一度だけ評価されます。

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

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