利用模糊join获取两表关联字段数据
遇到一个神奇的操作
需要左表中的某些数据在右表中出现,正常来讲只需要进行一个left join就好,但是因为右表中数据存储有点问题,需要用到一种类似模糊查询的方式。
这种情况下想使用SQL的模糊查询来获取两表关联字段数据
主要难点就是无法直接使用like来进行数据处理,我们无法得知被模糊查询的字段会出现在那个鬼地方,比如B表id=3的就出现在中间。这里选择采用了一种比较简单的操作,利用 模糊查询 %xxx% 进行一个全表扫描。
参考了网上一些案例使用concat来 和join on 来拼凑 模糊查询的样式
select A.ID,A.代号编码 from A x join B y
on y.代号编码 like concat('%',x.代号编码,'%')