Thanks Chris, this solution is one alternative, but it will not work in my app because the join condition in your example is defined using all the fields. in my case the join condition is unknown. if a row in the first view is a subset of a row in the second view that means there is a match.
Regards
From: Chris Travers <chris.travers@xxxxxxxxx>
To:
Cc: salah jubeh <s_jubeh@xxxxxxxxx>; pgsql <pgsql-general@xxxxxxxxxxxxxx>
Sent: Wednesday, September 28, 2011 5:09 PM
Subject: Re: tubles matching
Is something like this what you are trying to do?
somedb=# create table a (a int, b text, c date);
CREATE TABLE
somedb=# create table b (a int, b text, c date);
CREATE TABLE
somedb=# select * from a join b using (a, b, c);
a | b | c
---+---+---
(0 rows)
somedb=# insert into a values (1, 'test', now());
INSERT 0 1
somedb=# insert into b values (1, 'test', now());
INSERT 0 1
somedb=# insert into b values (2, 'test', now());
INSERT 0 1
somedb=# select * from a join b using (a, b, c);
a | b | c
---+------+------------
1 | test | 2011-09-28
(1 row)
Best wishes,
Chris Travers