u011924665
大尾巴
采纳率100%
2019-01-04 19:05

mysql进行left join左关联查询的时候,关联条件被自动模糊匹配了

已采纳

如下图:

图片说明

a表中总共有5条数据,b表中与之完全匹配关联的字段也只有5条。但是进行a left join b关联查询的时候,最终结果显示6条数据。数据差异是“207”的这条数据关联出2条来,但是第二条数据并不是207,而且“207ea6c8156749f19588996ee8699b55”。
这种感觉就像是使用了模糊查询,但是我的语句中使用的是“=”等于号。

不知道各位MySQL大神有没有遇到过这种情况,或者知道为什么会出现这种情况的。

请不吝赐教。

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

1条回答

  • u011924665 大尾巴 2年前

    已经找到答案了,是因为数据类型的原因。
    a.MAIL_CONTENT_MODULE_ID是int类型,而b.down_id是varchar类型。所以两个用等于号的时候会出现问题。
    解决方法就是将int类型转为varchar。
    深层次原因暂未探究,如有知道的大神,烦请告知。
    谢谢。
    图片说明

    点赞 评论 复制链接分享