使用联接进行SQL server更新
我在SQLServer中使用此命令使用其他表innerjoin中的最大数据更新表使用联接进行SQL server更新,sql,sql-server,Sql,Sql Server,我在SQLServer中使用此命令使用其他表innerjoin中的最大数据更新表 UPDATE dbo.table2 SET table2.LastGrantDate = max(table1.PlannedProjStartDate) from table1 inner join table2 on table2.Serial = table1.FundingEstablish 但它不起作用 只有在我使用它时没
UPDATE dbo.table2
SET table2.LastGrantDate = max(table1.PlannedProjStartDate)
from
table1 inner join table2
on table2.Serial = table1.FundingEstablish
但它不起作用
只有在我使用它时没有MAX()但是
要解决这个问题,您需要使用子查询。这里有一个方法:
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;
您需要使用子查询。这里有一个方法:
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;
您需要使用子查询。这里有一个方法:
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;
您需要使用子查询。这里有一个方法:
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;
试试这个
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
试试这个
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
试试这个
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
试试这个
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
但是max命令总是会带来一个值。但是max命令总是会带来一个值。但是max命令总是会带来一个值。但是max命令总是会带来一个值。