Я пытаюсь использовать подстроку & instring для извлечения необходимого значения в зависимости от условий.
Мне нужна конкретная часть, если столбец manager_name начинается с 'Express door%' или 'Express Door%' (D - заглавная буква)
и
извлечение значения после на для 2 записей и для 1 записи извлечение после на и до ','
Пример кода:
CREATE TABLE [Test](
service_id int,
category_id int,
employee_name varchar(50)
)
insert into Test values (38756,201830,'kalyan');
insert into Test values (38366,201790,'kalyan');
insert into Test values (38756,201830,'kalyan');
insert into Test values (38366,201790,'kalyan');
insert into Test values (38603,201790,'Ricky');
CREATE TABLE [major](
spec_id int,
manager_name varchar(150)
)
insert into major values (38756,null)
insert into major values (38366,null)
insert into major values (38756,'Express Door for on going : DECLINE by kalyan')
insert into major values (38366,'Express door for on going : APPROVE by Joy kalyan')
insert into major values (38366,'Request required')
insert into major values (38603,'Express door for on going : APPROVE by JRicky, Condtion:test')
Ниже используемого запроса SQL:
select distinct
t.service_id
,m.spec_id
, t.category_id
, t.employee_name
, substr(m.manager_name , instr(m.manager_name , 'by') + 3) Manager
from test t
left outer join major m on t.service_id = m.spec_id
where (instr(m.manager_name, 'Express Door') > 0 or instr(m.manager_name, 'Express door') > 0);
мой ожидаемый результат должен выглядеть следующим образом:
service_id category_id employee_name manager
38366 201790 kalyan Joy kalyan
38756 201830 kalyan kalyan
38603 201790 Ricky JRicky
Заранее спасибо
Света J