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

Mysql arbejder med kommasepareret liste - Junction-tabel

Dette burde fungere for dig:

UPDATE table2 T
SET T.accessories = IFNULL((SELECT foo FROM
                        (SELECT t1.ProductID,GROUP_CONCAT(t2.GRP) as foo
                            FROM table1 t1 
                            LEFT JOIN table2 t2 ON t1.Accessory = t2.ProductID 
                            GROUP BY t1.ProductID
                        ) AS bar WHERE ProductID = T.ProductID
                     ),'')

Her er den opdaterede SQL Fiddle



  1. MySQL InnoDB frigiver ikke diskplads efter sletning af datarækker fra tabellen

  2. 7 måder at returnere alle tabeller med en primær nøgle i SQL Server

  3. LISTAGG-funktion:Resultatet af strengsammenkædning er for lang

  4. Problem med at bruge TEXT-feltet i mysql-tabel