聚合不应出现在 UPDATE 语句的集合列表中。
update IA set ageStage2=max(case when MA.ageStage=2 then MA.quantity else 0 end), ageStage4=max(case when MA.ageStage=4 then MA.quantity else 0 end) from #materialAge as MA,#inventoryAge as IA
where MA.resourceID=IA.resourceID坐等大神帮忙解答
update IA set ageStage2=max(case when MA.ageStage=2 then MA.quantity else 0 end), ageStage4=max(case when MA.ageStage=4 then MA.quantity else 0 end) from #materialAge as MA,#inventoryAge as IA
where MA.resourceID=IA.resourceID坐等大神帮忙解答
ageStage2=MA.ageStage2
, ageStage4=MA.ageStage4
from (SELECT resourceID
, ageStage2=max(case when ageStage=2 then quantity else 0 end)
, ageStage4=max(case when ageStage=4 then quantity else 0 end)
FROM #materialAge
GROUP BY resourceID
) as MA,#inventoryAge as IA
where MA.resourceID=IA.resourceID2005+用CTE好看些
;WITH CTE AS (
SELECT resourceID
, ageStage2=max(case when ageStage=2 then quantity else 0 end)
, ageStage4=max(case when ageStage=4 then quantity else 0 end)
FROM #materialAge
GROUP BY resourceID
)
update IA set
ageStage2=MA.ageStage2
, ageStage4=MA.ageStage4
from CTE as MA,#inventoryAge as IA
where MA.resourceID=IA.resourceID