Re: PL/PGSQL for permutations?
От | D. Stimits |
---|---|
Тема | Re: PL/PGSQL for permutations? |
Дата | |
Msg-id | 3F852C63.20002@comcast.net обсуждение исходный текст |
Ответ на | PL/PGSQL for permutations? ("D. Stimits" <stimits@comcast.net>) |
Ответы |
Re: PL/PGSQL for permutations?
|
Список | pgsql-general |
Joe Conway wrote: > D. Stimits wrote: > > > 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 > > > I don't have 7.2 to test on (and you really should upgrade to 7.3.4 if > possible anyway), but why not: > > create table t1(f1 text, f2 text); > insert into t1 values('a','b'); > insert into t1 values('a','c'); > insert into t1 values('b','d '); > > select a, b > from > (select distinct f1 as a from t1 union select distinct f2 from t1) > as ss1, > (select distinct f1 as b from t1 union select distinct f2 from t1) > as ss2 > where ss1.a != ss2.b; > a | b > ----+---- > a | b > a | c > a | d > b | a > b | c > b | d > c | a > c | b > c | d > d | a > d | b > d | c > (12 rows) This worked quite well, thank you! I'm still in need though of learning more about PL/PGSQL, as I have other programming to add (well, I could do this in C as a PostgreSQL C function, but I want to stick to PL/PGSQL for the moment). I'm still looking for a non-trivial, in-depth, full reference to PL/PGSQL. I've found many good introductory or tutorial type web pages, but not a full and complete reference to PL/PGSQL. The permutations were themselves the easy part, now each permutation has to do some non-trivial combinatorics on trigger whenever a change is made. D. Stimits
В списке pgsql-general по дате отправления: