find_in_set
を使用できますか 機能?
SELECT x FROM tblname1 t1
inner join tblname2 t2 on find_in_set (t1.id, REPLACE(t2.content,'|',',')) > 0
where t2.dataid = 'y';
find_in_set
関数は、2番目の引数内の最初の引数の位置を返します。結果が>0の場合、最初の引数が見つかりました。
http://devを参照してください。 mysql.com/doc/refman/5.7/en/string-functions.html#function_find-in-set