"D.J. Kniep" <[EMAIL PROTECTED]> writes:
> query:
> select * from table1 t1 where t1.id in (select t2.id from view2 t2 where
> extra1 = 'a1')

> produces:

> id         content
> 1          John Doe
> 1          John Doe
> 2          Peter Gabriel

Not for me ---

regression=# create table table1(id int, context text);
CREATE TABLE
regression=# create table view2(id int, extra1 text, extra2 text);
CREATE TABLE
regression=# insert into table1 values(1,'John Doe');
INSERT 156512 1
regression=# insert into table1 values(2,'Peter Gabriel');
INSERT 156513 1
regression=# insert into view2 values(1,'a1','b1');
INSERT 156514 1
regression=# insert into view2 values(1,'a1','b1');
INSERT 156515 1
regression=# insert into view2 values(2,'a1','b3');
INSERT 156516 1
regression=# insert into view2 values(3,'a1','b5');
INSERT 156517 1
regression=# select * from table1 t1 where t1.id in (select t2.id from view2 t2
 where extra1 = 'a1');
 id |    context
----+---------------
  1 | John Doe
  2 | Peter Gabriel
(2 rows)

We'll need a more reproducible test case.

                        regards, tom lane

---------------------------(end of broadcast)---------------------------
TIP 4: Don't 'kill -9' the postmaster

Reply via email to