20080409 - MySQL 主表中一列为逗号分割的子表主键的关联查询问题

有 a 和 b 两个表,a 有一列保存的是逗号分割的 b 表主键,如果对表 a 和 b 的关联查询。则条件里写为:

LOCATE(CONCAT(',', b.id, ','), CONCAT(',', a.b_id_list, ',')) != 0

此句的意思是,定位b的id存在于a表逗号分割id列中的记录。

其中用到两个MySQL自带的函数。LOCATE是定位子串在母串中的位置,CONCAT是连接字符串。

 

posted on 2008-04-09 11:16  Eric Lee  阅读(1135)  评论(0编辑  收藏  举报

导航