mysql两表关联但是关联字段类型不一致

来源:互联网 发布:ppt chm 制作软件 编辑:程序博客网 时间:2024/05/15 23:44

今天做项目时发现了一个问题,业务表与字典表关联,发现查询出的结果有重复值,如下图所示:


首先,我们先看下业务表数据,就一条记录,如下图:



再看下字典表数据,如下图:



两表关联,查询结果如下:



从中发现,数据有问题,并不是我想要的结果,再仔细查看了下sql,发现语句也没问题,一直百思不得其解,突然想到是不是两者的字段类型不同,查了下两者的字段,

发现业务表的那个关联字段为int,字典表的那个关联字段为char,然后网上百度了下,可以转化,因此改了下sql,将char类型转化为int,sql及查询结果如下



sql语句:

select *
from srap_user_info info
join srap_bus_data_dict cert_type_dict on cert_type_dict.source_id = '0' and cert_type_dict.item_type_id = 21 
and cert_type_dict.item_value = CAST(info.cert_type as char) 
where loginname = '沈男';



关键代码:CAST(info.cert_type as char)

ps.不能将char类型转化为int,不然会报错,具体原因还不知道,可能是我的关联字段数据中有字母的缘由,不能转int类型比较





原创粉丝点击