2011-08-05 12 views
0

私はASIとコールと呼ばれる2つのテーブルを持っているし、テーブル内のデータは、次のようになります。UPDATE文

コール

ID Flag Created_ON 
12 1  2011-08-05 11:48:09.477 
15 1  2011-08-05 11:48:09.477 
18 1  2011-08-05 11:48:09.477 
20 1  2011-08-05 11:48:09.477 
25 1  2010-08-12 14:05:11.000 

ASI

ID Open_Date 
12 2010-07-02 09:40:00.000 
20 2010-08-12 14:05:11.000 
18 2010-08-09 15:26:43.000 

私は旗の列を更新したいですIDがASIテーブルに存在しない場合は0でコールテーブルを呼び出します。上記の例では、私はIDの15と25は0

出力になりたい:

ID Flag Created_ON 
12 1  2011-08-05 11:48:09.477 
15 0  2011-08-05 11:48:09.477 
18 1  2011-08-05 11:48:09.477 
20 1  2011-08-05 11:48:09.477 
25 0  2010-08-12 14:05:11.000 

答えて

4
UPDATE A 
SET A.Flag = 0 
FROM Call A 
LEFT JOIN ASI B 
ON A.Id = B.Id 
WHERE B.Id IS NULL 
+0

ありがとうございました! – Peter

0
update call set flag=0 where id not in (
    select distinct id from asi) 
0
UPDATE Call 
SET Flag = 0 
WHERE ID NOT IN (SELECT ID FROM ASI)