如何通过右侧的列顺序进行左连接 TABLE

How to LEFT JOIN WITH ORDER BY COLUMN IN RIGHT TABLE

    SELECT S.ID_SUPPLIER, S.NAMA_PERUSAHAAN, S.NAMA_CP, S.EMAIL,
        P.ID_PROVINSI, P.NAMA_PROVINSI, K.ID_KK, K.NAMA_KK,
        GROUP_CONCAT(B.NAMA_BAHAN_BAKU) as NAMA_BAHAN_BAKU
    FROM M_SUPPLIER S
    LEFT JOIN M_PROVINSI P ON S.ID_PROVINSI = P.ID_PROVINSI
    LEFT JOIN M_KOTA_KABUPATEN K ON S.ID_KK = K.ID_KK
    LEFT JOIN SUPPLIER_BAHAN_BAKU SUP ON S.ID_SUPPLIER = SUP.ID_SUPPLIER
    LEFT JOIN M_BAHAN_BAKU B on B.ID_BAHAN_BAKU = SUP.ID_BAHAN_BAKU
    GROUP BY S.ID_SUPPLIER
    ORDER BY B.NAMA_BAHAN_BAKU ASC

我要的是NAMA_BAHAN_BAKU列是asc 像这样..

ID_SUPPLIER |...| NAMA_BAHAN_BAKU
SU0002 |....|
Pewarna Makanan Egg Yellow,Pewarna Makanan Orange Red

(这就是我想要的。我希望它是升序的)

SU0001 |....|
Baking Powder, Garam, Gula, MSG, Telur, Tepung Tapioka

(这就是我想要的。我希望它是升序的)

尝试在 group_concat 内排序,然后在全局 ORDER BY 中取消 b.,您使用的是别名:

SELECT S.ID_SUPPLIER, S.NAMA_PERUSAHAAN, S.NAMA_CP, S.EMAIL, P.ID_PROVINSI, P.NAMA_PROVINSI, K.ID_KK, K.NAMA_KK, GROUP_CONCAT(B.NAMA_BAHAN_BAKU ORDER BY B.NAMA_BAHAN_BAKU ASC) as NAMA_BAHAN_BAKU
FROM M_SUPPLIER S
LEFT JOIN M_PROVINSI P ON S.ID_PROVINSI = P.ID_PROVINSI
LEFT JOIN M_KOTA_KABUPATEN K ON S.ID_KK = K.ID_KK
LEFT JOIN SUPPLIER_BAHAN_BAKU SUP ON S.ID_SUPPLIER = SUP.ID_SUPPLIER
LEFT JOIN M_BAHAN_BAKU B on B.ID_BAHAN_BAKU = SUP.ID_BAHAN_BAKU
GROUP BY S.ID_SUPPLIER
ORDER BY NAMA_BAHAN_BAKU ASC