日期:2014-05-19  浏览次数:20385 次

请教批处理的问题
例子
table1
    num             name                 date
    1                 张三                 2006-12-1
    2                 李四                 2007-1-1
    3                 王某                 2007-2-1
.........

table2
  num_old           num       name       date
    1                         1         张三       2004-12-1
    1                         1         张三       2005-5-5
    2                         2         李四       2005-2-12
    2                         2         李四       2006-5-23
    3                         12       韩某       2005-1-15
.........

说明:
现在想将table2中的num_old和num相同的条目对应的table1中的date更新为table2中这条信息对应的date的最小值
如何用批处理完成?
如:表1中张三的date应更新为表2中的张三num=1所对应的date最小值2004-12-1
此时表1更新  
table1
    num             name                 date
    1                 张三                 2004-12-1

请高手指点!

------解决方案--------------------
update table1
set date=t.date
from table1,(select num_old,num,name,min(date) date from table2 group by num_old,num,name)t
where table1.num=t.num_old
------解决方案--------------------
update table1 set date=(select min(date) from table2 where table2.num_old=table2.num and table2.num=table1.num)