使用逗号选择其他字段中的IN

时间:2018-03-14 12:55:17

标签: mysql

如果我执行此查询

SELECT user_ids FROM table2 WHERE `id` = 100

我得到一个以逗号分隔的列表:12,45,268,user_ids是varchar(255)字段

如果我执行此查询

SELECT user_id FROM table1 WHERE group_id IN(12,45,268)

我得到了我想要的东西

但我需要

SELECT user_id FROM table1 WHERE group_id IN
(SELECT user_ids FROM table2 WHERE `id` = 100 );

但我只从id = 12

获得user_id

可能是varchar(255)和逗号分隔的整数id之间转换的问题?

感谢您的帮助

1 个答案:

答案 0 :(得分:1)

使用MySQL INSTR() Function。试试这个:

SELECT user_id FROM table1 WHERE 
INSTR((SELECT user_ids FROM table2 WHERE `id` = 100 LIMIT 1),group_id)>0;