SELECT * FROM
(
SELECT
base2.id,
base2.padno,
base1.padgroup
FROM base2
LEFT JOIN base1
ON base2.padno LIKE CONCAT(base1.padgroup,"%")
ORDER BY padgroup DESC
) as temp
GROUP BY temp.padno ;
用子查询将padno与padgroup对应起来,然后倒序排就可以得出group较为长的在上面,此时进行group by得出结果,如果还有需要就在group by 后面加入新的order by
用子查询将padno与padgroup对应起来,然后倒序排就可以得出group较为长的在上面,此时进行group by得出结果,如果还有需要就在group by 后面加入新的order by
DEMO:DEMO在线预览
借鉴了3楼的。哈哈
再来和join+like的版本