Actually, it should really be : ( select '1_not_in_2' id, t.* from table(pipe_func_1) t minus select '1_not_in_2' id, t.* from table(pipe_func_2) t ) union all ( select '2_not_in_1' id, t.* from table(pipe_func_2) t minus select '2_not_in_1' id, t.* from table(pipe_func_1) t ) Steve On Wed, Jan 6, 2010 at 2:50 PM, Steve Baldwin <stbaldwin@xxxxxxxxxxxxxxxx> wrote: > How about writing two pipelined functions - one for each ref cursor. > > Then it's a simple matter of : > > select * from table(pipe_func_1) > minus > select * from table(pipe_func_2) > > Hope this helps. > > Steve > -- //www.freelists.org/webpage/oracle-l