Можете да преместите инициализацията на дефинирани от потребителя променливи на сесията в Производна таблица и Cross Join
с другите ви таблици:
SELECT SUBSTRING_INDEX(@input, ' ', (@count) * 2), ' ', -1) AS xyz,
som_cnt AS `count`
FROM abc
CROSS JOIN (SELECT @count := 0,
@input := '22:4,33:4'
) AS user_init_vars