テーブル table1 (account, last_contact_date, insert_date) があり、account と last_contact_date が主キーです。insert_date は、getdate() を呼び出して記録が追加された時刻で設定されます。table1 を更新するために使用する一時テーブル #temp(account, last_contact_date) もあります。
サンプルデータは次のとおりです。
table1
account    last_contact_date    insert_date
1          2012-09-01           2012-09-28
2          2012-09-01           2012-09-28
3          2012-09-01           2012-09-28
#temp 
account    last_contact_date
1          2012-09-27
2          2012-09-27  
3          2012-08-01
結果表は、挿入日によって異なります。日付が 2012-09-28 の場合、結果は次のようになります。
table1
account    last_contact_date    insert_date
1          2012-09-27           2012-09-28
2          2012-09-27           2012-09-28
3          2012-09-01           2012-09-28
日付が 2012-09-29 の場合、結果は次のようになります。
table1
account    last_contact_date    insert_date
1          2012-09-01           2012-09-28
2          2012-09-01           2012-09-28
3          2012-09-01           2012-09-28
1          2012-09-27           2012-09-29
2          2012-09-27           2012-09-29
基本的なルールは、(1) 挿入日が同じ日の場合、最新の last_contact_date を選択します。それ以外の場合、(2) last_contact_date が現在の last_contact_date より後の場合、新しいものを挿入します。
この挿入のクエリを作成するにはどうすればよいですか?