2017-02-15 4 views
0

あるテーブルから別のテーブルに対応するレコードがない行を見つけようとしています。SQLで特定の行を見つけるためにexceptを使う

SELECT CUST_NUMBER, 
      REFNUMBER, 
      'Application No Longer Exists; ' as Exception 
       from Data 
       except 
       select CUST_NUMBER 
       from applications 

問題は、SQLでは、不一致の列数が嫌いです。不足している行と関連情報を取得するにはどうすればよいですか?

答えて

1
select 
* from data t1 
where not exists(select 1 from applications a where a.cust_number=t1.cust_number) 


;With cte 
as 
(
select cust_number from data 
except 
select cust_number applications 
) 
select * from data where cust_number in (select cust_number from cte) 
+0

あなたのソリューションは機能するので重要ではありませんが、これ以外の方法ではできませんか? –

+0

あなたが言うことを意味する場合は、例外を使用して、私はone.Butを追加しましたが、あなたは同じ列を持っていないので、テーブルを2回アクセスする必要があるからです。 – TheGameiswar

+0

意味があります。 –

関連する問題