pg.ddx.io  pgsql-sql@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: Federico Pedemonte <fepede@fastwebnet.it>
To: pgsql-sql@postgresql.org
Subject: Multiple SRF parameters from query
Date: Tue, 31 May 2005 16:52:52 +0200
Message-ID: <1117551172.895.46.camel@protciv14.cmirl.arpal.org> (raw)

Hi All,

i'm having troubles trying to write a sql query using a Set Returning
Function.

I have a function foo (ID varchar) that returns a variable number of
records.
I have also a table (called Anagrafica) that contains a list of IDs to
be passed to the function foo.

As an example, just say that Anagrafica is like this:

Anagrafica

ID  | n
----+---
aaa | 1
bbb | 5
ccc | 9
ddd | 10
eee | 11

and foo returns this values 

select * from foo ('aaa')

a | b | c
--+---+---
1 | 2 | 3
5 | 9 | 1


select * from foo ('bbb')

a | b | c
--+---+---
4 | 0 | 0 
2 | 0 | 0
0 | 0 | 0 


what i would like to do is write an SQL query that looks something like
this (written in simplyfied-pseudo-sql)

SELECT FROM anagrafica
  WHERE n < 5 
    SELECT * FROM Foo (anagrafica.ID)	
  
and that gives as result a table that is the union of foo ('aaa') and
foo ('bbb')

a | b | c
--+---+---
1 | 2 | 3
5 | 9 | 1
4 | 0 | 0 
2 | 0 | 0
0 | 0 | 0 

I'm having success if foo returns only a row, but the problem is that
foo returns more than one.
I think i sould use a join but i couldn't find the right syntax for it.

I don't want to create a spefic PL/pgSQL function becase i need to have
freedom in selecting IDs from Anagrafica (the one i provided is just an
example, the real table is much more complex).

I would really appreciate any suggestion.

Best regards, 
	Federico.




view thread (4+ messages)  latest in thread

Message-ID: <1117551172.895.46.camel@protciv14.cmirl.arpal.org>
Permalink:  ../1117551172.895.46.camel@protciv14.cmirl.arpal.org/
Also on:    postgresql.org/message-id/1117551172.895.46.camel@protciv14.cmirl.arpal.org

 · 

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: pgsql-sql@postgresql.org
  Cc: fepede@fastwebnet.it
  Subject: Re: Multiple SRF parameters from query
  In-Reply-To: <1117551172.895.46.camel@protciv14.cmirl.arpal.org>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox