我在Sql Server中使用此命令使用其他表innerjoin
中的最大数据更新表 UPDATE dbo.table2
SET table2.LastGrantDate = max(table1.PlannedProjStartDate)
from
table1 inner join table2
on table2.Serial = table1.FundingEstablish
但它不起作用
只有在没有MAX()但
的情况下才能使用它任何解决这个问题的方法??
答案 0 :(得分:3)
您需要使用子查询。这是一种方式:
UPDATE t2
SET t2.LastGrantDate = t1.maxppsd
from table2 t2 inner join
(select FundingEstablish, max(PlannedProjStartDate) as maxppsd
from table1
group by FundingEstablish
) t1
on t2.Serial = t1.FundingEstablish;
答案 1 :(得分:0)
试试这个
UPDATE t2
SET t2.LastGrantDate = t1.PlannedProjStartDate
from
table1 as t1 inner join
(select FundingEstablish,max(PlannedProjStartDate) as PlannedProjStartDate
from table2 group by FundingEstablish) as t2
on t2.Serial = t1.FundingEstablish