У меня есть функция test_func (), которая принимает 1 аргумент (скажем, имя аргумента X) и возвращает таблицу. Теперь у меня есть список входных данных (из подзапроса), которые я хочу передать в аргумент X и собрать все результаты вызовов в таблице.
В Python я бы сделал что-то вроде
# create empty list
all_results = []
for argument in (1,2,3):
result = test_func(argument)
# Collect the result
all_results.append(result)
return all_results
Как я могу сделать то же самое в postgresql?
Спасибо.
Ради примера, мой test_func (X) принимает 1 аргумент и выплевывает таблицу с 3 столбцами. Значения для col1 - X, col2 - X + 1 и col3 - X + 3. Например:
select * from test_func(1)
дает
|col1|col2|col3|
----------------
| 1 | 2 | 3 |
----------------
Мой список аргументов будет результатом подзапроса, например:
select * from (values (1), (2)) x
Я ожидаю что-то вроде:
|col1|col2|col3|
----------------
| 1 | 2 | 3 |
----------------
| 2 | 3 | 4 |
----------------