Вам нужны правильные join
таблиц и оператор like
:
select A.id, B.order
from A inner join B
on ',' || A.orders || ',' like '%,' || substr(B.order,6,1) || ',%'
Примечание. Я думаю, что DB2 поддерживает оператор ||
для объединения.
Если нет:
select A.id, B.order
from A inner join B
on concat(concat(',', A.orders), ',') like concat(concat('%,', substr(B.order,6,1)), ',%')
Примечание: substr(B.order,6,1)
вернет 1 символ из B.order
, но если у вас числа больше 9
, вам следует использовать:
substr(B.order,6)
возвращает все символы, начиная с 6-й позиции и заканчивая B.order