Oracle 11 SQL列表和两个表进行比较

时间:2016-09-23 02:06:25

标签: sql oracle

我有一个包含12个字符串(数字字符串)的列表,我需要将它与Oracle中的现有表进行比较。但是,我不想创建一个表来进行比较;这花费的时间超过了它的价值。

select 
    column_value as account_number
from 
    table(sys.odcivarchar2list('27001', '900480', '589358', '130740',
                               '807958', '579813', '1000100462', '656025',
                               '11046', '945287', '18193', '897603'))

这提供了正确的结果。

现在我想将12的列表与具有帐号的实际表进行比较,以找到缺失的值。通常有两个表我会做一个左连接table1.account_number = table2.account_number和表二结果将有空白。当我尝试使用上述内容时,我得到的是两个记录相等的结果。

select column_value as account_number, k.acct_num
from table(sys.odcivarchar2list('27001',
'900480',
'589358',
'130740',
'807958',
'579813',
'1000100462',
'656025',
'11046',
'945287',
'18193',
'897603'
)) left join
isi_owner.t_known_acct k on column_value = k.acct_num

result

9匹配,但是3应该包含在table1中并且在table2中为空白

思想?

肖恩

0 个答案:

没有答案