合在一起不就行了嘛~!
就想这样:
Update tb_xz_salary set NoworkHours=(select isnull(sum(tb_kq_nowork.NoWorkHours),0) from tb_kq_nowork where isnull(tb_kq_nowork.checker,'')<>'' and tb_kq_nowork.Emp_id=tb_xz_salary.Emp_id and tb_kq_nowork.Noworkdate>='2004-02-01' and tb_kq_nowork.Noworkdate<'2004-03-01' group by tb_kq_nowork.Emp_id) ,
NoworkPay=(select isnull(sum(tb_kq_nowork.Pay),0) from tb_kq_nowork where isnull(tb_kq_nowork.checker,'')<>'' and tb_kq_nowork.Emp_id=tb_xz_salary.Emp_id and tb_kq_nowork.Noworkdate>='2004-02-01' and tb_kq_nowork.Noworkdate<'2004-03-01' group by tb_kq_nowork.Emp_id)
where tb_xz_salary._year=2004 and tb_xz_salary._month=2
但是我要更新的查询后面很长是从另一表中统计出来的(如下面)
Update tb_xz_salary set NoworkHours=(select isnull(sum(tb_kq_nowork.NoWorkHours),0) from tb_kq_nowork where isnull(tb_kq_nowork.checker,'')<>'' and tb_kq_nowork.Emp_id=tb_xz_salary.Emp_id and tb_kq_nowork.Noworkdate>='2004-02-01' and tb_kq_nowork.Noworkdate<'2004-03-01' group by tb_kq_nowork.Emp_id) where tb_xz_salary._year=2004 and tb_xz_salary._month=2
而第二条也是从刚才的表中统计出来的而且条件也一样,我不想统计,更新两次
Update tb_xz_salary set NoworkPay=(select isnull(sum(tb_kq_nowork.Pay),0) from tb_kq_nowork where isnull(tb_kq_nowork.checker,'')<>'' and tb_kq_nowork.Emp_id=tb_xz_salary.Emp_id and tb_kq_nowork.Noworkdate>='2004-02-01' and tb_kq_nowork.Noworkdate<'2004-03-01' group by tb_kq_nowork.Emp_id) where tb_xz_salary._year=2004 and tb_xz_salary._month=2