LET句を使う
LET句は、クエリー内で後で再利用できる変数を定義するために使われます。
LET句は次のように構造化する必要があります。
LET $variable_name = expression
変数は$記号で始まる必要があり、階層識別子ではない必要があります(たとえば $item.indexは有効な変数ではありません)。変数はクエリー全体で一意であることが必要です。変数値の指定に使用される式は、単独な式または条件式です。Talend Data Mapperでは、配列になることもあります。
LET句は、FROM句、UNNEST句、JOIN句、GROUP BY句、GROUP AS句の後か、SELECT句によって導入されたクエリーブロック内で使用する必要があります。ブロックにWHERE句かHAVING句が含まれている場合は、その前にLET句を置く必要があります。例:
FROM customer
LET $address = concatWith(" ", address.street, address.city)
WHERE hasValue(rating)
SELECT {
name,
rating,
address = $address,
LET $level = if (rating > 650) "Premium" else "Standard",
level = $level
}
情報メモ注: SELECT句でLET句が使われている場合:
- この変数はそのブロック内でのみ使用可能であり、クエリー内の他の場所では使用できません。
- 集計関数はサポートされていません。
WITH句を使う句とは異なり、LET句はクエリーの反復ごとに評価されます。