update m set m.arive=m.arive+IsNULL(n.Quantity,0)
from test M inner Join test2 n
on M.lendID=n.lendID and M.ProID=n.ProID
where Finishdate=(Select max(Finishdate) from test
where lendID=M.lendID)
from test M inner Join test2 n
on M.lendID=n.lendID and M.ProID=n.ProID
where Finishdate=(Select max(Finishdate) from test
where lendID=M.lendID)
set colname = ..
from tablename,tablename1
where condition1,.... --你的更新没有条件,结果铁定不是你想要的
(select * from test M where lendID in (select lendID from test2) and
Finishdate=( select max(Finishdate) from test N where N.lendID=M.lendID)) c
不同的原因。欢迎高手指教Update StockTable
set
fSurplus=fSurplus+ d.fQuantity
from
StockTable c
join
(select fProID,fQuantity from LendFromWHTable
where fLendID=@LendID and fFinishDate=(Select max(fFinishDate) from LendFromWHTable
where fLendID=@LendID))a
where c.fProID=a.fProID