MYSQL - 选择表中的所有行,其中另一个表中的ID为字符串字段

时间:2017-11-30 13:26:27

标签: mysql

我有一个mysql表" 位置"还有一张表" 电影"

位置结构

  

id |名字|位置

电影结构

  

id |名字|位置

其中 film.locations 是varchar字段,其中包含逗号分隔值 location.id

EG 位置数据

id  |  NAME    |  POSITION
 1  |  name1   |  p1
 2  |  name2   |  p2

电影资料

id  |  name   |  locations
 1  |  name1  |  1,3
 2  |  name2  |  2,5
 3  |  name3  |  1,2,13,23,45,66,4,222,54321,(and so on)

我想要来自表格位置的所有行 location.id (s)在 film.locations 字段

谢谢你们!

1 个答案:

答案 0 :(得分:0)

您可以在联接中使用find_in_set功能:

SELECT *
FROM   locations l
JOIN   film f ON FIND_IN_SET(l.id, f.locations) > 0