Не очень понятно, что вы пытаетесь получить и почему, но вот мое предположение о том, чего вы пытаетесь достичь:
https://www.db -fiddle.com / ж / 5HxNgCTf8TmAV9JWzQyGDd / 2
SELECT
campaign a,
IF(LOCATE('playstation', campaign), 'playtstation',
IF(locate('vr', campaign), 'vr',
IF(locate('dualshock', campaign), 'dualshock',
IF(locate('final fantasy', campaign), 'final fantasy', NULL)
)
)
) as b
FROM mytable
WHERE campaign LIKE '%playstation%'
OR campaign LIKE '%vr%'
OR campaign LIKE '%dualshock%'
OR campaign LIKE '%final fantasy%'
Как вы можете видеть из моей скрипки, вы можете получить тот же результат с помощью WHERE
, например:
WHERE campaign LIKE 'campaign-sony%'
И еще один трюк, если вы уверены в структуре campaign
:
SUBSTRING_INDEX(campaign, '-', -1) as b
И тогда у вас есть довольно хороший и удобный для чтения и понятный запрос:
SELECT
campaign a,
SUBSTRING_INDEX(campaign, '-', -1) as b
FROM mytable
WHERE campaign LIKE 'campaign-sony%'