Вы можете использовать IN
:
select user_account_number
from userstore
where u_id in ('04b452cd59dcc656', 'eqwe52cddasfsd656') ;
Использование переменных сложнее. Если вы знаете максимальное количество, вы можете сделать:
select user_account_number
from userstore
where u_id in (@id1, @id2);
Не удовлетворяет, но это делает работу. Точно так же неудовлетворительно это FIND_IN_SET()
:
set @ids = '04b452cd59dcc656,eqwe52cddasfsd656';
select user_account_number
from userstore
where find_in_set(u_id, @ids) > 0;
Увы, здесь не будет индекса.
Наконец, есть динамический SQL:
set @sql = concat('select user_account_number from userstore where u_id in (''',
replace(ids, ',', ''','''),
''')'
);
prepare s from @sql;
execute s;