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

Combina più righe in un unico MySQL Join

Puoi utilizzare GROUP_CONCAT per combinare tutti gli ID finitura per una determinata parte in un'unica colonna.

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:Tuttavia, se vuoi mantenere separate le righe da pj_items, dovrai unirti a PartFinish già raggruppati per 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