如下图:
a表中总共有5条数据,b表中与之完全匹配关联的字段也只有5条。但是进行a left join b关联查询的时候,最终结果显示6条数据。数据差异是“207”的这条数据关联出2条来,但是第二条数据并不是207,而且“207ea6c8156749f19588996ee8699b55”。 这种感觉就像是使用了模糊查询,但是我的语句中使用的是“=”等于号。
不知道各位MySQL大神有没有遇到过这种情况,或者知道为什么会出现这种情况的。
请不吝赐教。
收起
已经找到答案了,是因为数据类型的原因。 a.MAIL_CONTENT_MODULE_ID是int类型,而b.down_id是varchar类型。所以两个用等于号的时候会出现问题。 解决方法就是将int类型转为varchar。 深层次原因暂未探究,如有知道的大神,烦请告知。 谢谢。
报告相同问题?