
Stefano,
What you wrote does not look like an aggregation.
This is an aggregation: you make groups on value1,value2, and for each
group you aggregate values (e.g. value3,value4).
select value1, value2, my_aggr_function(value3, value4) from table
group by value1, value2
However, if that returns more than one tuple per group, it's again not an
aggregation.
I have the impression that what you are looking for is: for every tuple
(which might come from a previous aggregation), return a table, and
concatenate the results.
This would look like:
select *
from ( (select * from my_func(x.value1, x.value2) from (select
distinct value1,value2 from table) as x) );
This is possible in MonetDB. It will make a table out of each distinct
(value1,value2) pair, and give you back the concatenation of all results
(mind the double parentheses in the from clause, they are needed).
I have done this and works well.
Roberto
On 9 June 2016 at 15:18, Stefano Fioravanzo
Hello,
I have an embedded python function which, given two integer parameters, after doing some stuff returns a table. I would like to group by a table by these two input parameter, and for each resulting group call the function. The result would be the concatenation of all the tables returned by the function.
I understand that a thing like this would be very easy if the function returned just one value e.g.: select my_aggr_function(value1, value2) from table group by value1, value2
But how can I do this if my_aggr_function returns multiple rows??
Thank you,
Stefano _______________________________________________ users-list mailing list users-list@monetdb.org https://www.monetdb.org/mailman/listinfo/users-list