2017-04-25 7 views
0

を持つ文字列のリストに一致していない「記録」を入手私はそれで2,000レコードを持つテーブルを持っている:SQL -</p> <p>- SQLを解決する簡単な方法があります場合、私は思ったんだけど、私はこれは私がそれに実行する非常に一般的なシナリオです

UNIVERSITY 
id, name 

ので、例えば:

1, UConn 
2, Eastern 
3, Western 
4, Southern 

その後、誰かが私にそれでいくつかの大学の名前でExcelシートを与える:

Eastern 
Western 
UMass 
MIT 

私ははないは、SQLテーブルに存在しませんExcelシートから大学名を確認する必要があります。すなわち、Excelシートの表の中にある大学をフィルタリングします。例えば:

UMass 
MIT 

私はこれをしなかった場合:

SELECT * FROM university WHERE name IN ('Eastern', 'Western', 'UMass', 'MIT') 

私は戻ってになるだろう:

2, Eastern 
3, Western 

しかし、私帰ってきた本当に何wasnスプレッドシート中のものテーブル内のt。例:

UMass 
MIT 

私はSQLクエリでこれを行う簡単な方法はありますか?

+0

どのような部分に問題がありますか?エクセルをDBにアップロードしますか? DBをExcelで使用したいですか?または両方のテーブルの比較を行いますか? –

+0

私が求めていることをより明確にするために質問を編集しました。 –

+0

最初のインポートはテーブル(https://dev.mysql.com/doc/mysql-for-excel/en/mysql-for-excel-export.html)にカラムを追加し、次に新しいテーブルからnot notが存在するものを選択します大学のテーブル。 – Anand

答えて

0

怠けから私はたぶんSQLの名前を新しいシートに貼り付け、エクセルの式を使ってデータベースにないものを見つけます。

値が参照リストにない場合は、TRUEを返します。 A2あなたが見上げている名前とSheet2!A:Aです

=ISNA(VLOOKUP(A2,Sheet2!A:A,1,FALSE)) 

データベース

1

から名前を貼り付けたところ、最も簡単な方法は、dbテーブルであなたのExcelシートをアップロードし、LEFT JOIN

を行うことです

SQL DEMO

SELECT newUniv.name 
FROM newUniv 
LEFT JOIN University 
    ON newUniv.name = University.name 
WHERE University.name IS NULL; 
関連する問題