MySql的In方法能查这样的数据吗?

大连巴掌 发布于 2018/08/14 13:33
阅读 631
收藏 0
SELECT * FROM `jkp_keti_info` WHERE ( `zhuchiren` IN ( SELECT `id` FROM `jkp_jiaoshi` WHERE `xingming` LIKE '%s%' ) ) AND `jkp_keti_info`.`deletetime` IS NULL

朋友们,代码如上:

记录教师课题研究,

zhuchiren字段类型varchar(33) 存的是主持人id,主持人信息有单独的表,一般情况下只存一个id,有的时候需要存两个人的id,我就存成这样12003|112,我想根据教师名模糊查询课题,问题来了,如果是一个主持人id没问题,如果存多个id那就查不了,怎么办?

我想过建一个表存课题id和主持人id表,但是一上课题涉及到两个主持人的情况不是特别我,另建一个表是不是浪费了?

加载中
0
魔力猫
魔力猫

请重新学习数据库范式,不要违反第一范式。

魔力猫
魔力猫
回复 @大连巴掌 : 重构,建关联表。
大连巴掌
大连巴掌
谢谢朋友的回复,刚才学习了数据库范式,对我很有帮助,谢谢您。
0
思念断叻弦
思念断叻弦

可以把|换成逗号 然后用find_in_set()就搞定了

0
大连巴掌
大连巴掌

引用来自“思念断叻弦”的评论

可以把|换成逗号 然后用find_in_set()就搞定了

谢谢朋友,我现在就去试试!

返回顶部
顶部