Мне нужен запрос SQL, чтобы получить значение между двумя известными строками, которые повторяются много раз или дважды.
Пример.
base- 2019|ACX9|PTG-C|PPP1-MMM1|7986847
Желаемый результат - PPP1 в источнике и MMM1 в store_loc.
Я до сих пор придумал это
select
base,
substring_index(substring_index (base,'-',1),'|',-1) as source,
substring_index(substring_index (base,'-',-1),'|',1) as store_loc
from order_tracking
который отлично работает с базой как
2019|ACX9|PTGA|PPP1-MMM1|7986847
но не работает с базой как
2019|ACX9|PTG-C|PPP1-MMM1|7986847
Здесь он указывает источник как PTG.
Может кто-нибудь помочь мне с тем, где я иду не так?