表关联查询时,因为有一个中括号,导致查出来的数据不全,如何在不改变原表数据的情况下(删除中括号),查询出所有的数据
表b结构如下
表U结构如下
想要将爱好id的名称全部展示出来
语句如下
SELECT
u.id,
u.名称,
GROUP_CONCAT( b.名称 SEPARATOR “ - “ ) AS 爱好名称
FROM
u
LEFT JOIN b ON find_in_set( b.id, u.爱好 Id )
GROUP BY
u.id;
结果如下
因为爱好id字段中有一个中括号,导致查询出来的结果少挨着中括号的id 第一个和最后一个,请问在数据不改动的情况下,如何查出全部的数据
LEFT JOIN b ON find_in_set (b.id, TRIM(TRAILING ‘]’ FROM TRIM(LEADING ‘[‘ FROM u.fav_id))),做两次trim删除左右中括号,应该还有别的方法吧,效率不清楚只测了一下可以展示,replace应该也行