Это поможет:
select a.id from myActions a, (select ASCII(act) n, id from myActions) c
where char(c.n+1)=substring(a.act,2,1) and char(c.n+2)=substring(a.act,3,1)
and a.id=c.id;
Таблица в примере:
create table myActions(
id int(11) not null auto_increment,
act char(3),
primary key(id))
insert into myActions (act) values
('ABC'),('DHI'),('EFG'),('LMN'),('XYV'),('XYZ'),('CBA'),('HIJ')
другая опция - это процедура.
таблица выглядит следующим образом:
1 ABC
2 DHI
3 EFG
4 LMN
5 XYV
6 XYZ
7 CBA
8 HIJ
и результат: 1,3,4,6,8
ОБНОВЛЕНИЕ: в конце запроса добавьте: и productId = 'A001', чтобы получить:
select a.id from myActions a, (select ASCII(act) n, id from myActions) c
where char(c.n+1)=substring(a.act,2,1) and char(c.n+2)=substring(a.act,3,1)
and a.id=c.id and productId='A001';
Вам нужно будет указать искомый товар, так как может быть два разных товара с соответствующими наборами.