当前位置: 代码迷 >> MySQL >> mysql中in 做条件匹配 带逗号的字符串 数据错误解决
  详细解决方案

mysql中in 做条件匹配 带逗号的字符串 数据错误解决

热度:97   发布时间:2016-05-05 17:01:12.0
mysql中in 做条件匹配 带逗号的字符串 数据异常解决
在数据库中表doctor中cancer字段存放着以逗号分隔的外键id
select cancer from doctor where id=1;

数据如下
cancer
1,2,3

我需要在表cancer_type中匹配刚刚的外键,
于是用FIND_IN_SET函数:
select * from cancer_type c where FIND_IN_SET(c.cancer_id, (select cancer from doctor where id=1) )

数据如下
cancer_idcancer_namecancer_prefix
1肺癌Lung
2结直肠癌Col
3胃癌Sto


用in来匹配却不行
select * from cancer_type where cancer_id in (select cancer from doctor where id=1)

数据如下:
cancer_idcancer_namecancer_prefix
1肺癌Lung
  相关解决方案