Em primeiro lugar, o banco de dados obviamente não deve conter valores separados por vírgulas, mas esperamos que você já esteja ciente disso. Se a tabela fosse normalizada, você poderia facilmente obter os itens usando uma consulta como:
select distinct i.Itemid
from Item i
inner join ItemFeature f on f.ItemId = i.ItemId
where f.Feature in ('AB', 'PQ')
Você pode combinar as strings nos valores separados por vírgulas, mas não é muito eficiente:
select Id
from Item
where
instr(concat(',', Features, ','), ',AB,') <> 0 or
instr(concat(',', Features, ','), ',PQ,') <> 0