Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Multiple MySQL Table JOINS precisa concatenar os resultados de 1 tabela em um único campo de coluna


Tente algo assim:group_concat(comments order by id asc separator ' ') as comment

Observe que order by id deve ser o id do comentário (para que os comentários sejam ordenados corretamente quando concatenados):
SELECT sfo.order_id, sfo.order_number, sfo.item_status, shipping.city, comments.comment
FROM nam_order_items AS sfo
JOIN sales_flat_order_address AS shipping ON shipping.parent_id = sfo.order_id
AND shipping.address_type =  'shipping'
JOIN
(
  select
    parent_id,
    group_concat(concat(created_at, ' - ', comment) order by entity_id asc separator ' ') as comment
  from
    sales_flat_order_status_history
  group by
    parent_id
) comments ON 
  comments.parent_id = sfo.order_id