2012-12-18 207 views
1

我必須通過查詢聯繫人表將姓名添加到分配表中。使用Select語句的SQL更新

Contact表:

ID  First_name  Last_Name 
----------------------------------- 
1234 John   Jones 
9876 Mary   Smith 

Assignment

ContactID Name 
----------------- 
    1234 
    9876 

使用此查詢,我得到

子查詢返回多個值。

查詢:

​​

我缺少什麼?

+0

SQL Server 2005 – Stan

回答

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 
+2

+1比我快:) – Kaf

+0

謝謝Mahmoud,我知道我在想這件事。感謝您的幫助 – Stan

2

嘗試

Update A 
Set A.name = c.First_name + ' ' + c.Last_name 
From Assignment A JOIN Contacts C ON A.ContactID = C.ID 
1

無需子查詢

UPDATE A 
    SET Name = c.first_name + ' ' + c.last_name 
FROM Assignments A 
JOIN contacts c 
    ON c.id = A.contact_id 
1

試試這個

UPDATE a 
SET a.Name = c.first_name + ' ' + c.last_name 
FROM Assignments a 
INNER JOIN Contacts c ON c.id = A.contact_id 
+1

歡迎使用StackOverflow:如果您發佈代碼,XML或數據樣本,請**在文本編輯器中突出顯示這些行,然後單擊編輯器工具欄上的「代碼示例」按鈕(「{}」)以很好的格式和語法突出顯示它! –