• He means that you gave us an example we can't run

    Your create table creates one set of column names, and your insert references different ones.

    Then you are also missing a quote, and in 1 row transposed the order of the values.

    I THINK what you want for sample data is this:

    INSERT INTO MyTable (Number, [HD_DATE_TIMEX],[TRANS_NO],[MESSAGE_COUNTER],[MESSAGE_2], [SQL_LAST_UPDATE])

    VALUES ('0000000003','2015-02-25 13:18:02.000','00','!','CHK # 2452 FOR $122.49 REJECTED AS NSF ','2015-02-25 13:18:03.000')

    INSERT INTO MyTable (Number, [HD_DATE_TIMEX],[TRANS_NO],[MESSAGE_COUNTER],[MESSAGE_2], [SQL_LAST_UPDATE])

    VALUES ('0000000003','2015-02-25 13:18:02.000','00','"','ON 2/25/15','2015-02-25 13:18:03.000');

    INSERT INTO MyTable (Number, [HD_DATE_TIMEX],[TRANS_NO],[MESSAGE_COUNTER],[MESSAGE_2], [SQL_LAST_UPDATE])

    VALUES ('0000000009','2015-02-18 11:03:43.000','00','!','Debbie CALLED TO GO OVER THE ACCT. SHE ','2015-02-25 13:18:03.000');

    INSERT INTO MyTable (Number, [HD_DATE_TIMEX],[TRANS_NO],[MESSAGE_COUNTER],[MESSAGE_2], [SQL_LAST_UPDATE])

    VALUES ('0000000009','2015-02-18 11:03:43.000','00','"','WILL BE MAILING PAYMENT THIS','2015-02-25 13:18:03.000');

    INSERT INTO MyTable (Number, [HD_DATE_TIMEX],[TRANS_NO],[MESSAGE_COUNTER],[MESSAGE_2], [SQL_LAST_UPDATE])

    VALUES ('0000000009','2015-02-18 11:03:43.000','00','#','WEEK.','2015-02-25 13:18:03.000')

    But please confirm. And its good practice to test scripts you are going to post to make sure they are runnable.

    I think the query you want is this:

    SELECT m.Number,m.HD_DATE_TIMEX, STUFF((SELECT ',' + m2.Message_2

    FROM MyTable m2

    WHERE m2.Number = m.number

    AND m2.HD_DATE_TIMEX = m.HD_DATE_TIMEX

    ORDER BY m2.MESSAGE_COUNTER

    FOR XML PATH ('')),1,1,'') MessageText

    FROM MyTable m

    GROUP BY Number,HD_DATE_TIMEX