日期:2014-05-17  浏览次数:20531 次

求助,连表更改数据
本帖最后由 yyr513 于 2013-01-30 14:12:39 编辑
假设  
表tb1
列 顾客编号 顾客名称  地区  付款金额  最后付款日期
        101         a         福建
        102         b         广东
        101         a         广东
     

表tb2
列 顾客编号 顾客名称  地区  付款金额  付款日期
        101         a        福建    100     2013/01/11
        101         a        广东    200     2013/02/11
        101         a        福建    100     2013/01/20
        101         a        福建    300     2013/01/21
        102         b        广东    400     2013/01/14
        101         a        广东    500     2013/01/11

想要把表tb2的金额值的sum跟日期的最大值插入tb1的付款金额和最后付款日期

最后得到的tb1内容为
列 顾客编号 顾客名称  地区  付款金额  最后付款日期
        101         a         福建   500       2013/01/21
        102         b         广东   400       2013/01/14
        101         a         广东   700       2013/02/11


求助这样的procedure怎么写啊
?

------解决方案--------------------
update tb1
set 付款金额=x,  最后付款日期=y
from tb1 a
left join (
select 顾客编号,地区,sum(付款金额) x,max(付款日期) y
from tb2
group by 顾客编号,地区
) b on a.顾客编号=b.顾客编号 and a.地区=b.地区