From: David Pradier <dpradier@apartia.fr>
To: Christoph Haller <ch@rodos.fzk.de>
Cc: pgsql-sql@postgresql.org
Subject: Re: How to make a IN without a table... ?
Date: Thu, 12 Jun 2003 13:50:27 +0200
Message-ID: <20030612115027.GB680@apartia.fr> (raw)
In-Reply-To: <3EE8610A.EBE8B77@rodos.fzk.de>
References: <3EE8610A.EBE8B77@rodos.fzk.de>
On Thu, Jun 12, 2003 at 01:16:27PM +0200, Christoph Haller wrote:
> >
> > i ran today in a problem when doing some (i mean too much for me)
> advanced sql...
> >
> > What i want to do is something like this:
> >
> > SELECT
> > my_var1,
> > my_var2,
> > my_function(my_var1, my_var2)
> > FROM (
> > SELECT
> > '1',
> > '2',
> > '3',
> > '4'
> > ) AS my_var1_values,
> > (
> > SELECT
> > '1',
> > '2',
> > '3',
> > '4'
> > ) AS my_var2_values
> >
> > In short, i want to calculate the result of the function my_function
> for
> > some values of my_var1, cross by some values of my_var2.
> > These values are not taken in a table, but put in directly.
> > They are a lot, so i would prefer not to write the whole thing, line
> > after line. (Let's say 10 values for the first, and 40 for the second
> =>
> > 400 lines of code to maintain...)
> >
> > I really don't see how to do this :-/
> >
> What about using a TEMP TABLE?
I avoid as hell to use temporary tables. This is part of a complex
database, with more than 250 different tables. So i don't even want to
think about adding temporary tables, brrr !
> And COPY <temp-table> FROM STDIN offers a real fast way to populate.
> BTW, why using SQL at all? Couldn't perl do the job much easier?
I guess i wasn't clear enough.
"my_function" here is a function which calculate some results about some
datas from the database.
Example : a function which would calculate the sum of the money (which
would be stored in the database by movement, ie amount + date + cause +
account) spent by user my_var1 during period my_var2.
So no, perl can't do this.
Regards, David
--
dpradier@apartia.fr 01.46.47.21.33
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: dpradier@apartia.fr, ch@rodos.fzk.de
Subject: Re: How to make a IN without a table... ?
In-Reply-To: <20030612115027.GB680@apartia.fr>
* 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