Case
Search for the first condition that evaluates to true
and return its associated value. If none of the conditions match, null
is returned.
PRQL
from employees
derive distance = case {
city == "Calgary" => 0,
city == "Edmonton" => 300,
}
SQL
SELECT
*,
CASE
WHEN city = 'Calgary' THEN 0
WHEN city = 'Edmonton' THEN 300
ELSE NULL
END AS distance
FROM
employees
To set a default, a true
condition can be used:
PRQL
from employees
derive distance = case {
city == "Calgary" => 0,
city == "Edmonton" => 300,
true => "Unknown",
}
SQL
SELECT
*,
CASE
WHEN city = 'Calgary' THEN 0
WHEN city = 'Edmonton' THEN 300
ELSE 'Unknown'
END AS distance
FROM
employees