thanks a lot! that function does it exactly as wished ;)!
Am 23.03.2011 22:46, schrieb Merlin Moncure:
On Wed, Mar 23, 2011 at 10:29 AM, Sven Haag<[email protected]> wrote:hello pgsql fans out there, i've already created a function that returns a list of IDs of all sub-samples based on a given sample ID. this works fine. now i like to extend this function so that it can receive a list of sample IDs. e.g.: fn_get_subsamples(IN sample_numbers SETOF integer) here is the existing function: CREATE OR REPLACE FUNCTION fn_get_subsamples(IN sample_number integer) RETURNS SETOF integer AS $BODY$ WITH RECURSIVE recursetree(sample_number) AS ( SELECT sample_number FROM sample WHERE parent_sample = $1 UNION ALL SELECT t.sample_number FROM sample t JOIN recursetree rt ON rt.sample_number = t.parent_sample ) SELECT sample_number FROM recursetree; $BODY$ LANGUAGE sql VOLATILECREATE OR REPLACE FUNCTION fn_get_subsamples(IN sample_numbers integer[]) RETURNS SETOF integer AS $BODY$ WITH RECURSIVE recursetree(sample_number) AS ( SELECT sample_number FROM sample WHERE parent_sample in (select unnest($1)) UNION ALL SELECT t.sample_number FROM sample t JOIN recursetree rt ON rt.sample_number = t.parent_sample ) SELECT sample_number FROM recursetree; $BODY$ LANGUAGE sql VOLATILE merlin
-- Sent via pgsql-general mailing list ([email protected]) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-general
