我有表jeans
和bahanbenang
,我想用group_concat
將多個MySQL行連接成一個字段。 這是我的SQL代碼:使用group_concat mysql
SELECT jeans.id_jeans, jeans.id_benang, GROUP_CONCAT(bahanbenang.warna
SEPARATOR ', ') AS warna, GROUP_CONCAT(bahanbenang.jenis
SEPARATOR ', ') AS jenis
FROM jeans
LEFT JOIN bahanbenang ON jeans.id_benang = bahanbenang.id_benang
GROUP BY jeans.id_jeans
給出以下結果:
我的主要問題是,爲什麼不能生成的查詢返回多列warna
和jenis
一個值?
我想要的結果是這樣的:
*更新 蔭試圖THI查詢
SELECT
jeans.id_jeans, jeans.id_benang,
GROUP_CONCAT(bahanbenang.warna SEPARATOR ', ') AS warna,
GROUP_CONCAT(bahanbenang.jenis SEPARATOR ', ') AS jenis
FROM jeans
LEFT JOIN bahanbenang ON FIND_IN_SET(bahanbenang.id_benang, jeans.id_benang) = 1
GROUP BY jeans.id_benang
,但結果相同以下
在單個列中存儲ID列表是一個壞的,壞的,壞主意。這些ID是數字,不應將數字存儲爲字符串。 Ids應具有外鍵關係,並且字符串中的多個值不能具有外鍵關係。任何由此產生的查詢都不能使用索引。重組您的數據以使用聯結表。 –