Cita: si funciona con un campo que no es set
Para aclara, la función FIND_IN_SET() no se refiere a campos set, sino a buscar en un "set" o conjunto de valores que están en una misma cadena de texto. La única exigencia es que tales valores deben separados por comas dentro de la cadena:
"1, d, 3, 4"
No tiene absolutamente nada que ver con una columna de tipo SET.
Por otro lado, el uso de LIKE será errático por su propia definición (todo lo que contenga algo como '%xxx%'), porque no diferencia palabras completas de fragmentarias, y de todos modos no resuelve un problema: El que no existe una relación dada entre ambas tablas.
En ese contexto, para usarlo
también debes hacer un producto cartesiano, o bien iterarlo en N consultas desde programación, con lo que sería más eficiente usar FIND_IN_SET(), ya que no tiene la ambigüedad de LIKE para este caso.