Tema: My sql
Ver Mensaje Individual
  #2 (permalink)  
Antiguo 18/03/2004, 07:57
josemi
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 21 años, 10 meses
Puntos: 16
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.
__________________
Josemi

Aprendiz de mucho, maestro de poco.