2016-08-17 9 views
0

あるリストの要素も別のリストにも表示されているかどうかをSQLで確認する方法については、SQLリストを別のものと照合してください

List A = Live Customers in April 
List B = Live Customers in May 

リストAのどの顧客がリストBにも表示されるかどうかを確認するにはどうすればよいですか?紛失した顧客を特定する

i.e. Customers in A but not in B. 

ありがとうございました。 GAV

+2

この問題を処理するにはいくつかの方法がありますが、実行可能な回答が必要な場合は、いくつかのテーブル構造を表示する必要があります。 –

+1

また、SQLServer、Oracle、mysql、postgre ..のようなRDBMSについても言及してください。 – TheGameiswar

+0

SQL標準では、INTERSECTとEXCEPTを定義しています[Set operators](https://en.wikipedia.org/wiki/Set_operations_(SQL ))、すべてのDBMSで実装されているわけではありません。しかし、述べたように、それはあなたが使用しているデータベースのベンダーとバージョンによって異なります。 – GarethD

答えて

0

が、これは別のテーブルに存在しない結果を返しますnot in

select * 
from mytable 
where id not in (select id from table2) 

を試してみてください。結果を引っ張るために迅速かつ簡単な

+0

影響のないこの回答をチェックしてください:http://stackoverflow.com/questions/173041/not-in-vs-not-exists – TheGameiswar

1

さまざまな方法

SELECT customer 
FROM ListA a 
WHERE NOT EXISTS (SELECT 1 FROM ListB b WHERE a.customer=b.customer) 

OR

SELECT a.customer 
FROM ListA a 
    LEFT JOIN ListB b ON a.customer=b.customer 
WHERE b.customer is null 

OR

SELECT customer 
FROM ListA 

except 

SELECT customer 
FROM ListB 

OR

SELECT customer 
FROM ListA 
WHERE customer NOT IN (SELECT customer FROM ListB) 
関連する問題