2017-03-07 27 views
1

我有一個大的SSN列表,我需要檢查它是否不存在於表格中。我怎麼做?如何獲取DB2中不存在的值列表?

我嘗試這樣做:

SELECT SSN FROM TABLE1 WHERE NOT EXISTS(SELECT SSN FROM TABLE1 WHERE SSN IN ('111111111','222222222', '333333333', '777777777')) 

,但沒有得到結果集。

此處SSN:111111111,22222222和333333333存在於表格中。表中不存在SSN:777777777。

+0

你是什麼意思由大名單10,1K,超過一百萬? – John

+0

@John 2k左右 – Foxy

+0

我不確定這是什麼sql查詢。當然,你可以選擇那裏的記錄並以編程方式消除那些不是的記錄。好問題! – John

回答

3

在這裏你去

with temp(ssn) as (        
values           
    ('111111111'),         
    ('222222222'),         
    ('333333333'),         
('777777777')          
)             
select * from temp a where ssn not in (   
SELECT SSN FROM TABLE1 where ssn = a.ssn   
)  

OR

select * from ( 
values ('111111111'), ('222222222'), ('333333333'), ('777777777') 
)temp(ssn) 
where ssn not in (select ssn from table1) 
+0

我在運行查詢時遇到非法符號異常(-104)。試圖找出哪個部分正在投擲它。 – Foxy

+0

我創建了表並運行了查詢。與溫度(SSN)工作正常 – uSeruSher

+0

如( 值 ( '111111111'), ( '222222222'), ( '333333333'), ( '777777777') ) SELECT * FROM temp其中在爲ssn不( 從表1中選擇ssn ) – uSeruSher

相關問題