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

Combine várias linhas em um MySQL Join


Você pode usar GROUP_CONCAT para combinar todos os IDs de acabamento de uma determinada peça em uma coluna.
SELECT pj_items.part_num, 
       pj_items.qty, 
       GROUP_CONCAT(PartFinishes.FinishId) as FinishIds
FROM pj_items
JOIN PartFinishes 
  ON PartFinishes.PartNumber = pj_items.part_num
WHERE job_id = 1
GROUP BY PartFinishes.PartNumber

@comment:No entanto, se você quiser manter as linhas de pj_items separadas, precisará juntar PartFinishes já agrupados por PartNumber:
SELECT pj_items.part_num, 
   pj_items.qty, 
   FinishesGrouped.FinishIds
FROM pj_items
JOIN 
  ( SELECT PartNumber, GROUP_CONCAT(FinishId) as FinishIds
    FROM PartFinishes
    GROUP BY PartNumber ) FinishesGrouped
ON
  pj_items.part_num = FinishesGrouped.PartNumber