arrays and subselects - Mailing list pgsql-general

From Dave Hollenbeck
Subject arrays and subselects
Date
Msg-id 200009201514.JAA00698@moby5.fremenworks.org
Whole thread Raw
Responses Re: arrays and subselects  (Stephan Szabo <sszabo@megazone23.bigpanda.com>)
List pgsql-general
Sorry to repeat myself, but I've gotten a couple improperly formed
digests which my mail reader couldn't decipher, and I'm afraid I
missed a response.

Am I supposed to be able to use the result of selecting an array as
the subquery for an 'in' clause?  It seems very natural, and would
be mighty convenient.

For example:

create table testme1 (
key1   int2,
data1  int2[3]
);

create table testme2 (
key2   int2,
data2  int2
);

insert into testme1 values(1,'{1,2,3}');
insert into testme1 values(2,'{4,5,6}');
insert into testme2 values(10,5);

select key2 from testme2 where data2 in (select data1 from testme1
where key1 = 2);

Generates the following error

ERROR:  Unable to identify an operator '=' for types 'int2' and '_int2'
    You will have to retype this query using an explicit cast

Although I could name the array elements individually, this would be
most useful when the length of the array is variable.

I'd greatly appreciate any tips, pointers, or insight.

Thanks,
Dave

pgsql-general by date:

Previous
From: Buddy Lee Haystack
Date:
Subject: Re: pqReadData() -- backend closed the channel unexpectedly
Next
From: "Robert D. Nelson"
Date:
Subject: RE: pqReadData() -- backend closed the channel unexp