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

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


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



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



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



从中发现,数据有问题,并不是我想要的结果,再仔细查看了下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类型比较





  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值