Это моя структура таблицы:
orders
--------------------------
id | customer_name
--------------------------
23 | John Doe
24 | Jane Doe
order_comments
--------------------------------------------------------------------
id | order_id | username | created_at | comment
--------------------------------------------------------------------
1 | 23 | Bob | 2019-04-01 | my first comment
2 | 23 | Jim | 2019-04-03 | another comment
3 | 24 | Jim | 2019-04-05 | testing
4 | 24 | Jim | 2019-04-06 | testing again
Я хочу выбрать комментарии, объединенные символами новой строки, но также включить имя пользователя и made_at.Это то, что у меня есть:
select *
from (SELECT order_id, GROUP_CONCAT(`comment` order by id desc SEPARATOR '\n') as comments
FROM `order_comments`
group by order_id) comments
Результат:
order_id | comments
--------------------------------
23 | my first comment
| another comment
--------------------------------
24 | testing
| testing again
Вот мой желаемый результат, включающий имя пользователя и созданный для каждого комментария concat:
order_id | comments
--------------------------------
23 | Bob on 2019-04-01:
| my first comment
|
| Jim on 2019-04-03:
| another comment
---------------------------------
24 | Jim on 2019-04-05:
| testing
|
| Jim on 2019-04-06:
| testing again
Как получить желаемый результат?