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