Я создал некоторый SQL UDF, который возвращает таблицу, которая работает как надо.
Теперь я хотел бы добавить некоторую логику, поэтому на основе входных параметров udf следует использовать разные запросы, например:
if input_parameter = A then
SELECT * FROM table where blabla
if input_parameter = B then
SELECT * FROM table_someting where blabla
Возможно ли это (с sql или python в снежинке)? а затем все еще может называть это так:
select * from table(myfunction("A"))
Логику UDTF можно записать как взаимоисключающую UNION ALL
:
SELECT *
FROM tab1
WHERE blabla
AND INPUT_PARAMETER = 'A'
UNION ALL
SELECT *
FROM table_something
WHERE blabla
AND INPUT_PARAMETER = 'B'