Re: problem (bug?) with "in (subquery)"
От | Michael Fuhr |
---|---|
Тема | Re: problem (bug?) with "in (subquery)" |
Дата | |
Msg-id | 20050715141037.GA30461@winnie.fuhr.org обсуждение исходный текст |
Ответ на | Re: problem (bug?) with "in (subquery)" (Tom Lane <tgl@sss.pgh.pa.us>) |
Ответы |
Re: problem (bug?) with "in (subquery)"
|
Список | pgsql-sql |
On Fri, Jul 15, 2005 at 09:59:27AM -0400, Tom Lane wrote: > Luca Pireddu <luca@cs.ualberta.ca> writes: > > So, am I wrong in expecting each strain record to appear only once in the > > result set? Or is there something wrong with PostgreSQL? > > Could we see a self-contained example (table definitions and sample data > as a SQL script)? I don't really have time to reverse-engineer a test > case from your description ... I've been reverse-engineering and simplifying this. Here's something that I think is close: CREATE TABLE foo (id integer); CREATE TABLE bar (id1 integer, id2 integer); INSERT INTO foo VALUES (1); INSERT INTO bar VALUES (1, 1); INSERT INTO bar VALUES (2, 2); INSERT INTO bar VALUES (3, 1); SELECT * FROM foo WHERE id IN (SELECT id2 FROM (SELECT DISTINCT id1, id2 FROM bar) AS s);id ---- 1 1 (2 rows) SELECT * FROM foo WHERE id IN (SELECT id2 FROM (SELECT id1, id2 FROM bar) AS s);id ---- 1 (1 row) 8.0.3 and HEAD behave as shown. 7.4.8, 7.3.10, and 7.2.8 return a single row for both queries. -- Michael Fuhr http://www.fuhr.org/~mfuhr/
В списке pgsql-sql по дате отправления: