ProductID と Accessories 列を含むジャンクション テーブルがあります。
表1
ProductID Accessory
1 2
1 3
2 1
2 4
2 5
3
4 1
5 2
これは、ProductID 2 の場合、Accessory ProductID 1、4、および 5 があることを意味します ...
下の表 2 は、GRP と ProductID が既に提供されているように見えます。アクセサリを取得する必要があります。
表2
GRP ProductID accessories
a 2
b 3
c 1
d 4
e 5
したがって、実際にUPDATEを使用すると、次のようになります
表2
UPDATE table2 t2
set t2.accessories = (SELECT GROUP_CONCAT(DISTINCT t1.Accessory) FROM table1 t1
WHERE t1.ProductID = t2.ProductID)
GRP ProductID accessories
a 2 1,4,5
b 3
c 1 2,3
d 4 1
e 5 2
しかし、最終テーブルがこのようになるように、t2.ProductID に従って、代わりに GRP 文字を使用して t2.accessories の productIDs を変更したいと考えています。
表2
GRP ProductID accessories
a 2 c,d,e
b 3
c 1 a,b
d 4 c
e 5 a
ここにテーブルがありますhttp://sqlfiddle.com/#!9/83ec9