如何通过右侧的列顺序进行左连接 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
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