2012-11-08 2 views
0

J'ai cette requêtetypes d'enregistrements qui ne sont pas trouvés pour une valeur spécifique dans la requête Oracle

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

et mon IN article contient 200 valeurs. Comment puis-je savoir quels sont ceux qui n'ont pas été retournés par la requête? Chaque valeur dans la clause IN peut avoir un enregistrement dans certains cas, ils ne le font pas. Je veux connaître tous les enregistrements qui n'ont pas été trouvés pour un type p_a_id sélectionné.

S'il vous plaît aider

+0

: Ecrire une autre requête à la clause '' NOT IN avec la même entrée paramater :) –

Répondre

0

Cela fera l'affaire, mais je suis sûr qu'il ya un moyen plus facile de trouver cela :-)

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 
; 
Questions connexes