sql >> Databasteknik >  >> RDS >> Mysql

Kombinera flera rader till en MySQL Join

Du kan använda GROUP_CONCAT för att kombinera alla finish-ID:n för en given del i en kolumn.

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 om du vill hålla rader från pj_items separerade måste du gå med i PartFinishes som redan är grupperade 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. Varför är UNION-frågor så långsamma i MySQL?

  2. Vad är ett fulltextindex och när ska jag använda det?

  3. MySQL hämta sträng(ar) mellan två # / flera par av #

  4. Hur ansluter jag till MySQL Database?