Я хочу написать запрос в таблице кустов, используя CASE WHEN, LIKE и регулярное выражение. Я использовал regexp
и rlike
, но не получил желаемых результатов. Мои попытки до сих пор следующие
select distinct ending from
(select date, ending, name, count(distinct id)
from (select CONCAT_WS("/",year,month,day,hour) as date, id, name,
case when type = 'TRAN' then 'tran'
when events regexp '%[:]no_reply[:]%[^o][^n][:]incomplete[:]%' and type rlike '%HUP' then 'con'
when events not regexp '%[:]no_reply[:]%[^o][^n][:]incomplete[:]%' and type rlike '%HUP' then 'aban'
else 'other'
end as ending
from data_struct1) tmp
group by date, ending, name) tmp2;
а также
select distinct ending from
(select date, ending, name, count(distinct id)
from (select CONCAT_WS("/",year,month,day,hour) as date, id, name,
case when type = 'TRAN' then 'tran'
when events rlike '%[:]no_reply[:]%[^o][^n][:]incomplete[:]%' and type rlike '%HUP' then 'con'
when events not rlike '%[:]no_reply[:]%[^o][^n][:]incomplete[:]%' and type rlike '%HUP' then 'aban'
else 'other'
end as ending
from data_struct1) tmp
group by date, ending, name) tmp2;
Оба запроса возвращают неправильные результаты (неплохой синтаксис, просто неправильные результаты).
'\:no_reply\:[^:]*\:incomplete\:\:'
- person user37143   schedule 19.04.2019:
, но я не уверен, что на самом деле должно делать регулярное выражение. Приведите пример строки, если возможно - person leftjoin   schedule 19.04.2019opencase_2,initial_state:inquiry,inquiry:no_reply:initial_state:incomplete::,inquiry:reask:secondary_state:complete::
Мне нужно проверить, есть ли у меня следующая подстрока:no_reply:initial_state:incomplete
, однако строка в серединеinitial_state
может варьироваться между множеством значений (300 разных, то есть я не могу написать исчерпывающие условия if). - person user37143   schedule 19.04.2019