Ponieważ masz spację między john
i craig
. To by zadziałało
select id from person
where replace(concat(fname, lname),' ','') LIKE = '%johncraigsmith%'
ale to jest okropne z wydajnością BTW. Lepiej byłoby
select id from person
where lname = 'smith'
and fname = 'john craig'