Performing a sub-query in a SELECT SUM aggregate.

From: "Peter Geoghegan" <peter(dot)geoghegan86(at)gmail(dot)com>
To: pgsql-general(at)postgresql(dot)org
Subject: Performing a sub-query in a SELECT SUM aggregate.
Date: 2008-04-30 12:19:00
Message-ID: db471ace0804300519r832a796rdce0ed7aa69223a9@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Hello,

I'm writing a large pl/pgSQL function to batch process raw sales
records into departmentalised totals, stored in a dedicated table. The
logical thing to do is to INSERT a conditional aggregate ( INSERT INTO
..... SELECT SUM CASE WHEN ...ELSE... FROM..... GROUP BY ....) INTO
that dedicated table.

However, I need to do things like INSERT special records into some
other table sometimes. For example, if the sales were made on credit,
I need to make a dedicated record of that in the credit accounts
table. I'd like to do this within the conditional aggregate, when it
encounters a record that requires it, because that's more logical,
direct and efficient, rather then do the aggregate and then do
separate,"special" things on the same data. Is this possible? If not,
could someone write some psuedo code that would accomplish the same
think efficiently using cursors or something?

Thanks,

Peter Geoghegan

Browse pgsql-general by date

  From Date Subject
Next Message Tatsuo Ishii 2008-04-30 12:26:06 Re: Multibyte (Japanese Character) Sorting
Previous Message Gurjeet Singh 2008-04-30 11:30:16 Re: inheritance. more.