2

たとえば、文字列に値のリストがあります。

「a」、「c」、「b」、「d」

データ テーブルから、次のような列の結果が得られました。

Result
'a'
'b'

テーブルにない値を返す SQL の書き方: 'c', 'd'

また

NewResult
'c'
'd'

?

また、SQL以外の簡単なツールが使えればOKです。結果だけが必要です。ありがとう!

4

3 に答える 3

2

ステップ 1: 検索値を一時テーブルにロードします。

DECLARE @Search table (SearchFor char(1)  not null)

INSERT @Search values ('a'), ('b'), ('c'), ('d')

(これを設定する方法はいくつもありますが、これが最も速く入力できる方法です)

次のようにクエリを実行します。

SELECT SearchFor
 from @Search
except select SearchIn
 from DataTable

(ここでも、「in a not in b」クエリが取り得る多くの形式があります。)

これにより、最初のセット (一時テーブル) で 2 番目のセットにも見つからないものがすべて返されます。

于 2013-05-03T16:04:29.910 に答える