pg.ddx.io  pgsql-sql@postgresql.org mailing list archive  
help / color / mirror / Atom feed
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



view thread (14+ messages)  latest in thread

Message-ID: <20030612115027.GB680@apartia.fr>
Permalink:  ../20030612115027.GB680@apartia.fr/
Also on:    postgresql.org/message-id/20030612115027.GB680@apartia.fr

 · 

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: 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