Mysql
 sql >> Database >  >> RDS >> Mysql

Multiple MySQL Table JOINS devono concatenare i risultati di 1 tabella in un campo a colonna singola

Prova qualcosa del genere:group_concat(comments order by id asc separator ' ') as comment

Nota che order by id dovrebbe essere l'id del commento (quindi i commenti sono ordinati correttamente una volta concatenati).:

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