У меня довольно большая таблица, которая содержит коды ICD10 (icd10_table
). Я хочу получить кучу разных кодов ICD10 (code
) в зависимости от диапазона. Короче говоря, есть родительские коды ICD10, у которых есть «дети», которые могут быть довольно обширными. Например: ICD10 «M04» может включать в себя «M041», «M045», «M04679», «M04000», «M04999» и так далее. Здесь действительно нет паттерна, и поиск и выяснение каждой комбинации занимает очень много времени. При нормальных обстоятельствах простой запрос с подстановочным знаком, подобным этому, вытянет все, что мне нужно:
SELECT *
FROM icd10_table
WHERE code LIKE 'M04%'
Однако я пытаюсь получить диапазоны определенных кодов ICD10 и пытался сделать что-то вроде этого:
SELECT *
FROM icd10_table
WHERE code BETWEEN 'M00' AND 'M02%'
OR code BETWEEN 'M04' AND 'M04%'
OR code BETWEEN 'M05' AND 'M14%'
OR code BETWEEN 'M15' AND 'M19%'
Но это просто отсекает дочерний ICD10 и фактически не применяет подстановочный знак. Каков хороший обходной путь для использования BETWEEN и подстановочного знака, чтобы вывести каждого родителя / ребенка ICD10 в диапазон?