Hola,
MySQL no puede ejecutar subconsultas en versiones inferiores a 4.1 (o es 4.0).
Asi que la solucion seria hacer primero la subconsulta y crear con los datos de esa subconsulta la cadena de valores para meterlos en el IN.
Seria algo como:
Código PHP:
$consulta=mysql_query("subconsulta");
$valores=array();
while ($row=mysql_fetch_assoc($consulta)) {
$valores[]=$row['campo'];
}
$lista=implode(',',$valores);
$sql="SELECT * FROM tabla WHERE campo2 NOT IN ($lista)";
Mas o menos (puede haber errores de sintaxis). Pero para coger la idea vale.
Esta seria la solucion rapida con PHP. Tambien tienes una solucion con MySQL e
http://www.mysql.com/doc/en/Rewriting_subqueries.html
Saludos.