Если у вас SQL Server 2017 или более поздней версии, вы можете использовать STRING_AGG () следующим образом:
CREATE TABLE #Person (PersonID varchar(2), PersonText varchar(100), Line_Number int)
INSERT INTO #Person VALUES('A','The woman went to',1)
INSERT INTO #Person VALUES('A','the zoo,',2)
INSERT INTO #Person VALUES('A','then went home.',3)
INSERT INTO #Person VALUES('B','A man went to',1)
INSERT INTO #Person VALUES('B','the aquarium,', 2)
INSERT INTO #Person VALUES('B','spoke to',3 )
INSERT INTO #Person VALUES('B','the fish,',4)
INSERT INTO #Person VALUES('B','then got an ice cream.',5)
INSERT INTO #Person VALUES('C','People love',1)
INSERT INTO #Person VALUES('C','football.',2)
select PersonID, STRING_AGG(PersonText, ' ') PersonText
from #Person
GROUP BY PersonID
Если нет, то использование FOR XML также сделает это:
SELECT PersonID,
(SELECT PersonText + ' '
FROM #Person t1
WHERE t1.PersonID = t2.PersonID ORDER BY Line_Number FOR XML PATH('') ) PersonText
FROM #Person t2
GROUP BY PersonID