如果能得到一个列均为COLLECTION类型,collection 均只有一VARCHAR2列
有没办法 合并所有的COLLECTION 
从而对这个集合进行查询能得到如下查询结果
1 <Collection>
2 <Collection>
3 <Collection>
4 <Collection>
5 <Collection>
6 <Collection>能否将所有COLLECTION合并成一个集合 
再对这个集合进行查询(这个集合是动态查询生成的结果)

解决方案 »

  1.   

    UNION ALL 
    每个集合用union 或者union all 合并成一个集合
    然后再在这个基础上查询就是了
      

  2.   

    楼上正解:SQL> with t as (select test from test2 where id=1 union all select test from test2 where id=2) select * from t;TEST(TEST)
    ----------------------------------------------------------------------------------------------------
    MY_TYPE('a')
    MY_TYPE('b')SQL> desc test2;
     名称                                                  是否为空? 类型
     ----------------------------------------------------- -------- ------------------------------------
     TEST                                                           MY_TYPE
     ID                                                             NUMBER(2)SQL> desc my_type;
     名称                                                  是否为空? 类型
     ----------------------------------------------------- -------- ------------------------------------
     TEST                                                           VARCHAR2(10)SQL> select * from test2;TEST(TEST)
    ----------------------------------------------------------------------------------------------------
            ID
    ----------
    MY_TYPE('a')
             1MY_TYPE('b')
             2MY_TYPE('c')
             3MY_TYPE('d')
             4
    SQL>
      

  3.   

    select *
    from (select col from tb 
    union (加上all不去重复)
    select col from tb2
    .... ) where.....