SELECT FROM t1 WHERE id IN (SELECT id FROM t2 UNION SELECT id FROM t3)

From: Christophe Boyanique <cboyanique(at)formanet(dot)be>
To: pgsql-sql(at)postgresql(dot)org
Subject: SELECT FROM t1 WHERE id IN (SELECT id FROM t2 UNION SELECT id FROM t3)
Date: 2000-11-10 16:25:55
Message-ID: 3A0C2193.DB793E1B@formanet.be
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-sql

Hello,

I've got a problem with UNION and SELECT IN

I have a first table:

CREATE TABLE products
(
idProduct INT4,
name VARCHAR(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.

Responses

Browse pgsql-sql by date

  From Date Subject
Next Message Tom Lane 2000-11-10 16:35:38 Re: SELECT FROM t1 WHERE id IN (SELECT id FROM t2 UNION SELECT id FROM t3)
Previous Message Najm Hashmi 2000-11-10 15:59:28 [sql]Joins