2012-02-24 19 views
0

値の配列(A、B、C、D)と列(field1)を持つSQL Serverテーブル(table1)があるとします。SQL Serverテーブルにない配列から値を選択する

私がしたいことは、選択された各値がtable1.field1に見つからないようにクエリを作成することです。 AおよびDがtable1.field1に発見された場合

例えば、次に選択されるであろう唯一の値は、クエリは次のように何が見えるBおよびC

だろうか?

は、

エリオットあなたが試すことができ

+1

あなたは、C#/ VBでこれをやっていますか?またはデータベースの一部である値のリストですか? – TZHX

+0

私はこれをやっていません。C#/ vbです。私は、Excelのスプレッドシートにある一連の値についてクエリを作成したいと考えています。私は、スプレッドシートのどの値がデータベースにないのか知りたいし、たくさんの値があります。 – Elliott

答えて

1

「純粋な」T-SQLが必要な場合は非常に簡単です。 ルック - あなただけの2人の群衆持っているすべての意図や目的に:あなたが欲しい

(A,D) 

(A,B,C,D) 

は、「第二のではなく、1からすべて」です。 EXCEPT演算子は、あなたが(つまり - 群衆の論理差)答えです:

USE tempdb 
go 

CREATE TABLE T1 (col1 char(1)) 
go 
INSERT T1 VALUES ('A') 
INSERT T1 VALUES ('D') 
go 
CREATE TABLE T2 (col2 char(1)) 
go 
INSERT T2 VALUES ('A') 
INSERT T2 VALUES ('B') 
INSERT T2 VALUES ('C') 
INSERT T2 VALUES ('D') 

SELECT * FROM T2 
EXCEPT 
SELECT * FROM T1 

結果:

col2 
B 
C 
1

select field1 from table1 where field1 not in('A','D') 

をありがとう、あなたが別の何かをしたい場合は、コメントしてください。

関連する問題