PL/PGSQL for permutations?

From: "D(dot) Stimits" <stimits(at)comcast(dot)net>
To: pgsql-general <pgsql-general(at)postgresql(dot)org>
Subject: PL/PGSQL for permutations?
Date: 2003-10-07 23:25:37
Message-ID: 3F834B71.6090302@comcast.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

I've found a number of basic references for PL/PGSQL, but am looking for
something more complete. First question, is there available a *complete*
reference for PL/PGSQL? I'm using PostgreSQL version 7.2.3-5.73 (for
Redhat rpm packaging version), so it is version 7.2 I am concerned with
information on (this is a default version, so at least on this machine,
I'm not interested in updates in version).

The situation that leads me to ask for this is a simple need to select
two fields from a table, and generate a table that itself has two
fields, populated by every permutation of unique values from the first
table field pair. E.G., if I had in table 'one':
left right
==== =====
a b
a c
b d

...then I'd need a list of a, b, c, d, and produce a new table:
left right
==== =====
a b
a c
a d
b a
b c
b d
c a
c b
c d
d a
d b
d c

This isn't hard, but I'm struggling with PL/PGSQL data types. I'd love
to just find a map or associative array type, and populate it from
queries, sort it, and generate a new array or map from a nested loop.
I'm not exactly sure how the PostgreSQL non-standard array type would
work for this from PL/PGSQL, if at all.

D. Stimits, stimits AT comcast DOT net

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Joe Conway 2003-10-07 23:37:47 Re: PL/PGSQL for permutations?
Previous Message nolan 2003-10-07 23:21:17 Re: "select count(*) from contacts" is too slow!