En la consulta que has puesto, lo unico que veo que le falta es un parentesis al final, pero cuando ejecutas la consulta debería salirte un mensaje de error por ese parentesis. Dices que no devuelve resultado, talvez sea porque el Select que toma el In no devuelve registros.
Código SQL
[-]
select * from tabla where empresa ='MMM' and
NOC IN (SELECT NOC FROM detcompras WHERE EMPRESA ='MMM' AND DESCRIP_INS LIKE '%clavo%')
Saluditos