i cannot find whats issue here , why getting error of #1241 - operand should contain 1 column(s)
select count(*) `user` `t` inner join (     select cv.relatedid     customvalue cv     (cv.customfieldid=9 , (cv.fieldvalue = '1')) or           (cv.customfieldid=8 , (cv.fieldvalue = '1'))     group cv.relatedid     having count(*) > 1 ) tblcv     on tblcv.relatedid = t.id (firstname '%jea%') , (keywords 52,53,54)        
you should not use (keywords 52,53,54).
you can use keywords in (52,53,54)
or keywords '52,53,54'.
edited:
or maybe want this;)
(find_in_set('52', keywords) or find_in_set('53', keywords) or find_in_set('54', keywords))   or keywords regexp '52|53|54', depends on requirement.
