2016-11-18 64 views
2

對於每個姓和名,我只想將它們組合並更新到同名「姓名」表中的全名列中。將姓氏和姓氏合併,並更新到每行的全名列中

這應該發生在表中的每一行。這些列是Id,FirstName,LastName和FullName。

任何幫助,將不勝感激

update Names n 
set n.FullName = (
    select CONCAT(FirstName,' ',LastName) 
    from Names a 
    where n.Id = a.Id 
) 
where n.FullName is null 
and n.FirstName is not null and n.LastName is not null 
+0

你可以使用更新的選擇喜歡這裏的解釋:http://stackoverflow.com/questions/2334712/update-from-select-using-sql-server – dacaballero

回答

4

這將更新科拉姆全名是空白或有NULL值。

UPDATE Names 
SET FullName = ISNULL(FirstName + ' ','') + ISNULL(LastName,'') 
WHERE ISNULL(FullName,'') = '' 

編輯

UPDATE Names 
SET FullName = FirstName + ' ' + LastName 
WHERE ISNULL(FullName,'') = '' AND ISNULL(FirstName,'') <> '' AND ISNULL(LastName,'') <> '' 
+0

請檢查now..corrected –

+0

我想跳過行,如果FirstName或LastName爲空,所以我沒有全名,只有第一個或最後一個名字 –

+0

和n.FirstName不爲空,並且n.LastName不爲空 –