Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Kombinieren Sie mehrere Zeilen zu einem MySQL-Join

Sie können GROUP_CONCAT verwenden, um alle Finish-IDs für ein bestimmtes Teil in einer Spalte zu kombinieren.

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:Wenn Sie jedoch Zeilen von pj_items getrennt halten möchten, müssen Sie PartFinishes verbinden, die bereits nach PartNumber gruppiert sind:

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