Hello,
I have a problem with the ALL() subquery expression.
I have three tables:
- specimens
- test_bits
- specimen_test_bits
The specimen_test_bits table contains two foreign keys, one to
specimens(id), another to test_bits(id).
Here is an output of specimen_test_bits:
muridae=> select * from specimen_test_bits;
specimen_id | test_bit_id
-------------+-------------
46096 | 1
46096 | 2
46096 | 3
46096 | 4
52894 | 1
52894 | 3
12546 | 2
What I would like is a query that returns all the specimen_id of
this table which have _all_ the given test_bit_id. So in this
case, with test_bit_id 1,2,3,4 it should return only
specimen_id 46096.
With the following I got a syntax error:
select specimen_id
from specimen_test_bits
where test_bit_id = all(1,2,3,4);
The following works but no rows are returned :
select specimen_id
from specimen_test_bits
where test_bit_id = all(select id from test_bits where id in (1,2,3,4));
Any idea how I could do this ? I guess the problem is my ALL() expression ...
In advance thanks,
Julien
---------------------------(end of broadcast)---------------------------
TIP 3: Have you checked our extensive FAQ?
http://www.postgresql.org/docs/faq