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<sven-haag@xxxxxx> 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 VOLATILE
CREATE 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 (pgsql-general@xxxxxxxxxxxxxx)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general