2016-05-01 13 views
-2

2つのテーブルがあるとします。まず一つは、我々は特定の単語格納しますSQL Serverテーブルを別のテーブルでフィルタリングする方法は?

id word 
1 apple 
2 banana 
3 orange 

と第二のテーブルに、我々は、ユーザーが入力した単語を持っているのSQL文が、私は第二のテーブルから単語を削除する必要があります

id word 
1 pear 
2 apple 
3 watermelon 
4 cherry 
5 strawberry 
6 banana 

最初のテーブルにあり、これを2番目のテーブルとして持っていますか?ここで

id word 
1 pear 
3 watermelon 
4 cherry 
5 strawberry 

私のコードです:

using (con) 
{ 
    con.Open(); 

    SqlCommand cmd = con.CreateCommand(); 
    cmd.CommandText = "delete from word where word.word in (select filter.word from filter)"; 

    cmd.ExecuteNonQuery(); 
    con.Close(); 
} 

答えて

3

あなたが実際に行を削除したい場合:

delete from t2 
    where t2.word in (select t1.word from t1); 
+0

それとも、代わりに実際にそれらを削除するユニークな言葉を選択したい場合は、あなたが可能'select * from t2に変更します。ここで、t2.wordは(t1からt1.wordを選択します); ' –

+0

ConnectionStringプロパティは初期化されていません。私はこのエラーがあります。変更されたコード、私は最初の投稿に追加しました。 –

+1

@infoperto問題がクエリに含まれていない場合、まずデータベースに正しく接続していません。それはあなたがもともと尋ねたこととはまったく異なる質問です。 – alroc

関連する問題