今天在写一条订单数据对应另一个表多条物流状态的数据库操作的时候踩了不少坑(笔者只是个弱后端的小前端),所以在此做个记录。
首先,通过LEFT JOIN
查询
SELECT
o.oid,e.express_state
FROM
orders o
LEFT JOIN
express e ON o.order_express = e.express_number
GROUP BY
o.oid
//输出
//oid express_state
//1 a
//1 b
//1 c
//2 d
会发现,有时候会出现查询到,多条相同oid不同express_state的情况。
这时候,可以用GROUP_CONCAT
去掉多余的数据,并把不同的express_state
数据合并。
SELECT
o.oid