我有一个表 tbl1(帐户,last_contact_date,insert_date)。我定义的主键是 account 和 last_contact_date。例如
account last_contact_date insert_date
0001 09/01/2012 10/01/2012
0001 09/02/2012 10/02/2012
现在我有一条新记录,它来自另一个临时表#tmp(account, last_contact_date)。根据last_contact_date或insert_date,我将有条件地插入: (1)如果插入日期是同一天,我将用最大last_contact_date更新帐户;
(0001, 09/01/2012, 10/02/2012) --no
(0001, 09/02/2012, 10/02/2012) --no
(0001, 09/03/2012, 10/02/2012) --update
(2)如果插入日期是前一天,什么都不做(我知道这永远不会发生)
(0001, 09/01/2012, 10/01/2012) --no
(0001, 09/02/2012, 10/01/2012) --no
(0001, 09/03/2012, 10/01/2012) --no
(3) 如果插入日期是第二天或更晚,我将插入一条新记录,最大 last_contact_date。
(0001, 09/01/2012, 10/03/2012) --no
(0001, 09/02/2012, 10/03/2012) --no
(0001, 09/03/2012, 10/03/2012) --insert
谁能帮我写这个查询?我真的没有主意了。
更新:我最终使用游标编写上述逻辑。谢谢。