SQL Server:使用选择结果更新列

时间:2018-01-12 10:40:26

标签: sql sql-server select sql-update inner-join

我让表学生有一个名为IdStudent的列。 IdStudent的值为0

Table Student还有一个名为UID的列

我需要在表Candidate中使用IdCandidate更新表Student中的IdStudent。

Table Candidate也有UID列,其中包含表Student的相同UID。

所以我们可以这样做以获得IdCandidate:

 select C.IdCandidate from Candidate as C inner join Student as S
 on C.UID = S.UID

如何使用此选择中获得的此IdCandidate更新表Student中的IdStudent?

谢谢!

2 个答案:

答案 0 :(得分:1)

在更新中使用JOIN

update s set s.IdStudent = C.IdCandidate
from Candidate as C 
inner join Student as S on C.UID = S.UID

答案 1 :(得分:-1)

您可以使用以下查询执行此操作:

update S set S.IdStudent = C.IdCandidate
    from Student S 
        inner join Candidate C on S.UID=C.UID