mysql 中 FIND_IN_SET 的使用

mysql 中 FIND_IN_SET 的使用

使用场景

表A和表B相互关联,是一对多的关系,A中一个记录对应多个B中的记录。

要求在不建立中间表的情况下,通过A中的一个字段可以找到多个B中的记录。

示例

A:

id | fid   | family
1  | 1,2,3 | English

B:

id | name
1  | a
2  | b
3  | c

表A中有一条记录,记录了English家族的三个字母,通过fid指向表B,可以查找到这三个字母的name值。

sql语句

select * from B where FIND_IN_SET(id,(select fid from A where family = 'English'))

小收获

这里不能用in,谁试谁知道。

mysql查询字符转换用CAST(id as varhcar(255))记得一定要带上255指定长度,不然会报错。

你可能感兴趣的:(#,小知识)