sql >> Database >  >> RDS >> Mysql

Combineer meerdere rijen in één MySQL Join

U kunt GROUP_CONCAT gebruiken om alle finish-ID's voor een bepaald onderdeel in één kolom te combineren.

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:Als u echter rijen van pj_items gescheiden wilt houden, moet u deelnemen aan PartFinishes die al op PartNumber zijn gegroepeerd:

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



  1. SST-bewerking op een Galera-cluster stoppen of gas geven

  2. Mysql NIET IN en NIET BESTAAN hetzelfde?

  3. Afbeeldingen in database streamen met HttpHandler

  4. MySQL kan de index die nodig is niet laten vallen in een externe sleutelbeperking