Re: Table conversion query... - Mailing list pgsql-sql

From Joe Conway
Subject Re: Table conversion query...
Date
Msg-id 3F43D7E9.2000804@joeconway.com
Whole thread Raw
In response to Table conversion query...  (George McQuade <josslad@yahoo.com>)
Responses Re: Table conversion query...
List pgsql-sql
George McQuade wrote:
> date     tran gl    amt
> 08/20/03 1001 3010   -30.00
> 08/20/03 1001 1030  -300.00
> 08/20/03 1001 1060  +330.00
> 08/20/03 1002 ...next transaction
> ...
>  and I need to convert to:
> 
> date     glcr gldb  amt
> 08/20/03 1060 3010  30.00
> 08/20/03 1060 1030 300.00
> 
> in other words, the negative gl's go into gldb
> and they make up the total for the positive gl.
> 
> is there a way to accomplish this in postgresql?
> or should I implement it inside the java app?

There's no simple way to do this in Postgres. You could do it with a 
PL/pgSQL table function, or for better performance a C function. There 
are a couple of questions yet to be answered though:
1) Can there ever be more than one credit account, e.g. -30, -300, +150,   +180?
2) What happens if sum(neg values) != sum(pos values)? Throw an error?

Joe




pgsql-sql by date:

Previous
From: "Moonstruck"
Date:
Subject: Re: Reverse pattern match.
Next
From: Tom Lane
Date:
Subject: Re: "SELECT IN" Still Broken in 7.4b