Прошло много времени с тех пор, как я попробовал этот синтаксис ... но в SQL Server вы можете указать в обновлении значение.
UPDATE Emp SET
UserName = Left(FirstName,1)+LastName
FROM Emp e1
WHERE NOT EXISTS (
SELECT *
FROM Emp e2
WHERE e2.UserName=Left(e1.FirstName,1)+e1.LastName
)
РЕДАКТИРОВАТЬ : Мой синтаксис, конечно, работает, но я не уверен, что это правильно. Независимо от того, правильно это или нет, я бы предложил использовать псевдоним в операторе обновления только для того, чтобы другие могли лучше понять, что вы делаете.
UPDATE e1 SET
...
FROM Emp e1
...