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

Kombiner flere rækker til én MySQL Join

Du kan bruge GROUP_CONCAT til at kombinere alle finish-id'er for en given del i én kolonne.

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:Men hvis du vil holde rækker fra pj_items adskilt, skal du tilmelde dig PartFinishes, der allerede er grupperet efter 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



  1. Skal indsætte 100000 rækker i mysql ved hjælp af dvale på under 5 sekunder

  2. Opdeling af strengen i sql server

  3. MySQL forespørgsel / klausul udførelsesrækkefølge

  4. Sådan returneres dublerede nøgler fra et JSON-dokument i SQL Server