Skip site navigation (1) Skip section navigation (2)

Re: Novice PL/pgSQL question and example

From: Tim Landscheidt <tim(at)tim-landscheidt(dot)de>
To: pgsql-novice(at)postgresql(dot)org
Subject: Re: Novice PL/pgSQL question and example
Date: 2010-02-08 21:17:38
Message-ID: m3r5ov8m19.fsf@passepartout.tim-landscheidt.de (view raw or flat)
Thread:
Lists: pgsql-novice
James Long <pgsql-novice(at)museum(dot)rain(dot)com> wrote:

> [...]
> Is that as good as this can get, or is there a simpler way, more
> along the lines of the first version?

I'm not certain that I get the gist of your share_costs ()
function, but why not just something functional along the
lines of:

| tim=# SELECT G.A, TRUNC(90.0 / 7, 2) +
| tim-#             CASE
| tim-#               WHEN ROW_NUMBER() OVER (ORDER BY G.A) <= 100 * (90 - 7 * TRUNC(90.0 / 7, 2)) THEN
| tim-#                 0.01
| tim-#               ELSE
| tim-#                 0.00
| tim-#               END
| tim-#   FROM generate_series(1, 7) AS G(A);
|  a | ?column?
| ---+----------
|  1 |    12.86
|  2 |    12.86
|  3 |    12.86
|  4 |    12.86
|  5 |    12.86
|  6 |    12.85
|  7 |    12.85
| (7 Zeilen)

| tim=#

Tim

In response to

Responses

pgsql-novice by date

Next:From: James LongDate: 2010-02-08 21:44:09
Subject: Re: Novice PL/pgSQL question and example
Previous:From: James LongDate: 2010-02-08 19:31:29
Subject: Re: Novice PL/pgSQL question and example

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group