[SQL] SELECT FROM t1 WHERE id IN (SELECT id FROM t2 UNION SELECT id FROM t3)

2000-11-10 Thread Christophe Boyanique

Hello,

I've got a problem with UNION and SELECT IN

I have a first table:

CREATE TABLE products
(
  idProduct   INT4,
  nameVARCHAR(32)
);

and two others tables:

CREATE TABLE orders
(
  id  INT4,
  ts  TIMESTAMP
);

CREATE TABLE preorders
(
  id  INT4,
  ts  TIMESTAMP
);

(I reduced the tables to be as simple as possible)

I want to retrieve id of products from the tables orders and preorders;
and order it by the name of the product. So I tried:

SELECT idProduct FROM products
  WHERE idProduct IN
(SELECT id FROM orders WHERE ts>'2000-10-01 17:04:00'
UNION SELECT id FROM preorders WHERE ts>'2000-10-01 17:04:00')
  ORDER by name;

and I've got a parse error near UNION or SELECT depending of the
presence
of () between the SELECTs.

I definitively need some help to solve this problem :-|

I asked to a friend to test it with Oracle and that seems to work so I
really don't know what to do...

Christophe.



Re: [SQL] SELECT FROM t1 WHERE id IN (SELECT id FROM t2 UNION SELECT id FROM t3)

2000-11-10 Thread Christophe Boyanique

Tom Lane wrote :

> Current releases don't handle UNION in sub-selects.  7.1 will.
Thanks very much for this "fast as speed light" answer !

Is there an idea about the 7.1 release date ? Just to know if this is
will be in weeks, months or years...

Christophe.