使用Select语句的SQL更新

Sta*_*tan 1 sql select sql-server-2005

我必须通过查询联系人表格为分配表添加联系人姓名.

Contact 表:

 ID     First_name     Last_Name
 -----------------------------------
 1234   John           Jones
 9876   Mary           Smith
Run Code Online (Sandbox Code Playgroud)

Assignment

 ContactID   Name
 -----------------
  1234
  9876
Run Code Online (Sandbox Code Playgroud)

我得到了这个查询

子查询返回的值超过1.

查询:

 update A  
 set Name = (select  distinct first_name + ' ' + last_name from contacts c join        Assignments A on c.id = A.contact_id where A.contact_id = c.id)
 from Assignments  A 
 join contacts c on c.id = A.contact_id
 where c.id = A.contact_id
Run Code Online (Sandbox Code Playgroud)

我错过了什么?

Mah*_*mal 5

JOIN 他们直接,像这样:

UPDATE a
SET a.Name = c.first_name + ' ' + c.last_name
FROM Assignments a
INNER JOIN Contacts c  ON c.id = A.contact_id
Run Code Online (Sandbox Code Playgroud)