Try (SQL Server 2017 and up):
DECLARE @t TABLE (name varchar(30), surname VARCHAR(30), location VARCHAR(30))
INSERT INTO @t (name, surname, location)
VALUES ('neo', 'hlophi', 'london'), ('peter', 'lock', 'asia'), ('bernad', 'jules', 'asia')
SELECT location, STRING_AGG(CONCAT(name, '|', surname),',') FROM @t GROUP BY location