Hi Geraldine, You can do it like this: SQL>select id from mytab t where exists (select null from table(t.numlist) where column_value = 90); ID ---------- 2 Hope that helps. Malcolm. On 28/11/05, geraldine_2@xxxxxxxxxxx <geraldine_2@xxxxxxxxxxx> wrote: > Hi, > I'm having trouble writing a query to return the record containing a > particular element in the varray. In the example below, I would like to > search for the id that contains 90 in myvarray. The query should return id=2. > How can I do that? > > thanks. > > > create or replace type myvarray as varray(5) of number; > / > > > create table mytab ( > id number, > numlist myvarray > ) > / > > insert into mytab values (1,myvarray(10,20,30,40,50)); > insert into mytab values (2,myvarray(60,70,80,90,100)); > > SQL> select * from mytab; > ID NUMLIST > ---------- ------------------------------ > 1 MYVARRAY(10, 20, 30, 40, 50) > 2 MYVARRAY(60, 70, 80, 90, 100) > > > geraldine > -- > //www.freelists.org/webpage/oracle-l > > > -- //www.freelists.org/webpage/oracle-l