Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

UPDATE from SELECT using Microsoft SQL Server

My problem is:

I have 2 tables: Employees (it has FirstName, LastName and EmployeeId columns) and ProjectWorkers (it has FullName and WorkerIdcolumns).

WorkerId is the same as EmployeeId so I need to fill ProjectWorkers.FullName with joined data from Employees.FirstName and LastName datas (according to WorkerId=EmployeeId).

I have written a query that fill FullName column but only with FirstNames, however I don't understand how to join FirstName and FullName (it has to be simply but it is a problem for me).

My query:

USE [HRM_MVC_DEV_Test]
GO

UPDATE [dbo].[ProjectWorkers] set
    FullName = FirstName
        FROM [dbo].[Employees] as e
        INNER JOIN [dbo].[ProjectWorkers] as p
        ON e.EmployeeId = p.WorkerId
GO

P.s. Thanks for formatting text, i ll try to do it myself next time )

like image 321
Vadim.K Avatar asked Apr 15 '26 12:04

Vadim.K


2 Answers

Use + or CONCAT (starting with SQL Server 2012):

USE [HRM_MVC_DEV_Test]
GO

UPDATE p
SET FullName = FirstName + ' ' + LastName
FROM [dbo].[ProjectWorkers] as p
INNER JOIN [dbo].[Employees] as e
    ON e.EmployeeId = p.WorkerId
GO

Another way:

SET FullName = CONCAT(FirstName,' ',LastName)
like image 71
gofr1 Avatar answered Apr 18 '26 01:04

gofr1


       UPDATE ProjectWorkers SET 
       ProjectWorkers.FullName = Employees.FirstName FROM
       ProjectWorkers INNER JOIN Employees ON
       ProjectWorkers.EmployeeId = EmployeesON.EmployeeId 
like image 41
Lalji Dhameliya Avatar answered Apr 18 '26 02:04

Lalji Dhameliya



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!