Using SQL, how would I go about updating a column on 1 table, with data from a related/joined table using all the records found, concatenated together? Rather than just updating it based on a specific record, I want to concatenate the fields together and use that for the update.

Table 1

```
ID|Col1|Col2
1|Hello|Hello2
2|HelloHello|HelloHello2

```

Table 2

```
ParentID|Tbl2Col1|Tbl2Col2
1|Value1|Value2
1|Value1|Value2
1|Value1|Value2
2|Value2|Value3

```

I want to update Table 1, ID 1, Col2 value to be the concatenated values of all the Table 2 Tbl2Col2 child records based on the Table2.ParentID = Table1.ID.

So Table 1 would then look like this when done:

```
ID|Col1|Col2
1|Hello|Value2, Value2, Value2
2|HelloHello|HelloHello2

```

ID 1, Col2 is now set to each of the values found from Table 2, Tbl2Col2 column.

**Updated 2/17/20**
I tried building this out via [SQL Fiddle](http://sqlfiddle.com/#!18/80898/7) and ran into trouble with the UPDATE statement. I'm able to build out the SELECT query, but I receive an error when I perform the UPDATE: *Only one expression can be specified in the select list when the subquery is not introduced with EXISTS.*

It's actually a bit more complicated too, I need to have Incident.JournalDescriptions end up looking like: Journal.CreatedDateTime + '\n' Journal.Description.

Basically, combine the CreatedDateTime and Description for each of the related Journal records and update the Incident.JournalDescriptions field.

Here's the table structure and queries I've tried:

```
CREATE TABLE Incident
    ([RecID] varchar(42), [JournalDescriptions] varchar(max))
;
CREATE TABLE Journal
    ([ParentRecID] varchar(42), [Description] varchar(max), [CreatedDateTime] datetime)
;

INSERT INTO Incident
    ([RecID], [JournalDescriptions])
VALUES
    ('1', ''),
    ('2', '')
;

INSERT INTO Journal
    ([ParentRecID], [Description], [CreatedDateTime])
VALUES
    ('1', 'My Journal Description 1', Getdate()+1),
    ('1', 'My Journal Description 2', Getdate()+2),
    ('2', 'My Journal Description 3', Getdate()+3)
;

-- UPDATE STATEMENT ERRORS: Only one expression can be specified in the select list when the subquery is not introduced with EXISTS.
UPDATE Incident
SET JournalDescriptions = (SELECT
  I.RecID,
  I.JournalDescriptions,
  STRING_AGG(J.Description, '<br />') RegDates,
  STRING_AGG(J.CreatedDateTime, '<br />') WaitListDates
FROM
  Incident AS I
  JOIN Journal AS J
  ON I.RecID = J.ParentRecID
GROUP BY I.RecID, I.JournalDescriptions);
WHERE Incident.RecID = '1'

-- SELECT STATEMENT WORKS
SELECT
  I.RecID,
  I.JournalDescriptions,
  STRING_AGG(J.Description, '<br />') RegDates,
  STRING_AGG(J.CreatedDateTime, '<br />') WaitListDates
FROM
  Incident AS I
  JOIN Journal AS J
  ON I.RecID = J.ParentRecID
GROUP BY I.RecID, I.JournalDescriptions

```

**Update #2 2/17/20**

I was able to get this UPDATE query to work for a SINGLE row only, when I specify the RecID in both the inner/outer clauses.

```
UPDATE Incident
SET JournalDescriptions = (SELECT
 STRING_AGG(J.Description + CONVERT(varchar, J.CreatedDateTime), '<br />') AS Updated
FROM
  Incident AS I
  JOIN Journal AS J
  ON I.RecID = J.ParentRecID and I.RecID = '1'
GROUP BY I.RecID)
WHERE Incident.RecID = '1';

SELECT RecID,JournalDescriptions FROM Incident;

```