我有一个名为 'user_permission' 的表,有一个名为 location_ids 的列,数据类型为 varchar(255)。我在这里存储了10,27,36 之类的值。现在我想在IN 比较运算符中使用这个 'location_ids' 。我尝试了以下查询,但没有得到预期的结果。
SELECT (SELECT GROUP_CONCAT( `name` SEPARATOR ',' ) as name FROM location WHERE `remove` = 0 AND id IN(up.location_ids)) AS name FROM user_permission AS up
但是如果我提供 IN(10,27,36) 而不是 IN(up.location_ids) 那么它就可以工作了。