prueba con un left join ej;
mysql> select * from padre; +----+ | id | +----+ | 1 | | 2 | | 3 | +----+ mysql> select * from hija; +----+ | id | +----+ | 1 | | 2 | | 5 | | 6 | | 7 | +----+ mysql> select h.id as h_id, p.id as p_id from hija h LEFT JOIN padre p ON h.id = p.id where p.id is null; +------+------+ | h_id | p_id | +------+------+ | 5 | NULL | | 6 | NULL | | 7 | NULL | +------+------+ El día 30 de septiembre de 2008 19:20, Lorenzo Ponce <[EMAIL PROTECTED]> escribió: > Estimados, en primer lugar, no sé si esta es la lista adecuada por lo que no > vi una de base de datos, si no lo es, favor indicar (con una vez basta). > > Tengo una base de datos MyISAM (MySQL), y tengo la necesidad de rescatar > datos de una tabla cuya integridad referencial no existe. > > Es sencillo sacar los que tienen su PK con la FK en otra tabla, WHERE > idCampo=fkCampo, pero lo que quiero es sacar aquellos registros que NO tienen > hecha la relación. > > He intentado usando selects anidados y funciones como NOT IN, lo cual > funciona bien con pocos registros, pero al crecer la cantidad de registros se > torna demasiado lento por los selects que debe hacer en cada vuelta. > > Me gustaría me indicaran alguna solución más eficiente. Me imagino que llenar > de OR la consulta sería poco eficiente también. > > Favor, omitir comentarios del tipo cámbiate a postgres, u otros, que no > contribuyan a la solución de codificación requerida. > > Muchas gracias. > LP > > > > > ____________________________________________________________________________________ > ¡Todo sobre Amor y Sexo! > La guía completa para tu vida en Mujer de Hoy. > http://mujerdehoy.telemundo.yahoo.com/ > -- Juan Manuel Doren Santiago, Chile