Предположим, у меня есть таблица со строкой, и я хочу создать агрегацию этой таблицы, сгруппировав разные строки в «категорию». Чтобы понять, к какой категории относится каждая строка, у меня есть список возможностей, которые я могу суммировать следующим образом:
CASE WHEN string = 'aaa' THEN 'cat_aaa'
CASE WHEN string = 'bbb' THEN 'cat_bbb'
[...]
CASE WHEN string LIKE '% abc%' THEN 'cat_ab c'
Теперь, список может быть очень большим и может потребовать обновления, поэтому я не хочу составлять бесконечный список СЛУЧАЙ КОГДА. Вместо этого я хотел бы иметь таблицу со строкой, используемой для сравнения, и соответствующей категорией.
Итак, давайте предположим, что у вас есть первая таблица со всеми строками:
TABLE A
=======
string
--------
aaa
bbb
aaa
aaa
aaa
dabc
fabc
------
и другая таблица
TABLE B
=======
string_comparison | category
aaa | cat_aaa
bbb | cat_bbb
%abc% | cat_abc
Если бы все они были = condition, я мог бы просто объединить две строки. Однако, в зависимости от типа string_comparison, мне может потребоваться сравнение LIKE. Есть ли у вас какие-нибудь sh идеи, как решить эту ситуацию? Я бы не хотел присоединяться к этим двум столам на основе НРАВИТСЯ из-за выступлений. Есть ли возможность использовать регулярные выражения в строке для решения этой проблемы?
Я использую красное смещение.