Альтернативный критерий выбора может использовать сопоставление шаблона регулярного выражения Perl с конкатенацией переменных кода диагностики.Роль конкатенации такая же, как у or
тестирования отдельных переменных.
where prxmatch ('/(B|C)0/', cats(dx1,dx2,dx3,dx4))
В более широком и широком смысле эпидемиологического исследования вы можете рассмотреть возможность иметь таблицу онтологий, которая сопоставляет коды диагностики с кластером заболевания или категорией исследования.
dx category
--- --------
B00 Foo
…
B99 Foo
C00 Foo
…
C09 Foo
dx
будет внешним ключом к основному списку всех диагностических кодов.
Тогда критерии выбора SQL-запроса будут включать существование сопоставленного соответствия подзапроса.
where
exists (select * from ontology where category = 'Foo' and dx1 = dx) or
exists (select * from ontology where category = 'Foo' and dx2 = dx) or
exists (select * from ontology where category = 'Foo' and dx3 = dx) or
exists (select * from ontology where category = 'Foo' and dx4 = dx)