0

このクエリがあります

Select distinct p_id, p_date,p_city 
  from p_master 
 where p_a_id in(1,2,5,8,2,1,10,02)

私のIN句には200個の値が含まれています。クエリによって返されなかったものを知るにはどうすればよいですか。句の各値にはINレコードがある場合と、ない場合があります。p_a_id選択したタイプで見つからなかったすべてのレコードを知りたいです。

助けてください

4

1 に答える 1

0

これでうまくいきますが、これを見つける簡単な方法があると確信しています:-)

with test1 as 
(select '1,2,5,8,2,1,10,02' str from dual)
select * from (
select trim(x.column_value.extract('e/text()')) cols 
   from test1 t, table (xmlsequence(xmltype('<e><e>' || replace(t.str,',','</e><e>')|| '</e></e>').extract('e/e'))) x) cols 
   left outer join 
 (Select count(*), p_a_id from p_master where p_a_id in (1,2,5,8,2,1,10,02) group by p_a_id) p
 on p.p_a_id = cols.cols
 where p_a_id is null
 ;
于 2012-11-08T16:51:00.837 に答える