La clause
LET
est utilisée pour définir une variable pouvant être réutilisée dans la requête.
La clause
LET
doit être structurée comme suit :LET $variable_name = expression
La variable doit commencer par le caractère $
et ne peut pas être un identifiant hiérarchique. Par exemple, $item.index
n'est pas une variable valide. La variable doit être unique à travers la requête. L'expression utilisée pour spécifier la valeur de la variable peut être une expression simple ou une expression conditionnelle. Dans Talend Data Mapper, elle peut également être un tableau.
La clause
LET
doit être utilisée après une clause FROM
, UNNEST
, JOIN
, GROUP BY
ou GROUP AS
ou dans un bloc de requête introduit par une clause SELECT
. Si la requête contient une clause WHERE
ou HAVING
, la clause LET
doit être placée avant celle-ci. Par exemple :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
}
Remarque : Si une clause
LET
est utilisée dans une clause SELECT
:- la variable est disponible uniquement dans ce bloc et ne peut être utilisée ailleurs dans la requête.
- Les fonctions d'agrégation ne sont pas supportées.
La clause LET
est évaluée pour chaque itération dans la requête, à la différence de la clause WITH
.