Re: How to make a IN without a table... ? - Mailing list pgsql-sql

From David Pradier
Subject Re: How to make a IN without a table... ?
Date
Msg-id 20030612115027.GB680@apartia.fr
Whole thread Raw
In response to Re: How to make a IN without a table... ?  (Christoph Haller <ch@rodos.fzk.de>)
Responses Re: How to make a IN without a table... ?
Re: How to make a IN without a table... ?
List pgsql-sql
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


pgsql-sql by date:

Previous
From: Bruno Wolff III
Date:
Subject: Re: How to make a IN without a table... ?
Next
From: Bruno Wolff III
Date:
Subject: Re: multiple index search with postgres7.1.3 on solaris 8