2016-04-19 18 views
1

テーブルTableAに存在しないxの値をすべて取得したいとします。他のテーブルに存在しないレコードを選択してください。

私は空白に戻ってくる次のクエリを試してみました。

select x.num from 
(
    select '888888' as num from dual union all 
    select '111111' as num from dual 
) x 
left outer join TableA a on (a.number = x.num) 
where a.number is null 


select x.num 
FROM 
(
    select '888888' as num from dual union all 
    select '111111' as num from dual 
) x 
where x.num not in 
(
    select a.number from TableA a where x.num = a.number 
) 

| TableA.number | 
------------- 
    111111 
    333333 

期待される結果は、 '888888' は、この場合に返されることです。

なぜこれがうまくいかないのか分かりませんが、どこで間違っていますか?

答えて

1

この

with cte as 
(
    select '888888' as num from dual union all 
    select '111111' as num from dual 
) 
select cte.num 
from cte 
left join TableA a on (a.number = cte.num) 
where a.number is null 
をお試しください
関連する問題