Suponiendo que te entendí bien, tienes dos registros por cada documento, uno con la fecha y estado de "ingreso", y el otro con la fecha y estado de "egreso", y además cuentas con un campo donde se almacena el numero de documento en cuestión.
Por lo que dices en un momento, quieres que la base te devuelva todos los documentos que ingresaron antes de una fecha y no egresaron.
Suponiendo también que por cada documento hay una sola entrada y una sola salida, la cosa sería mas o menos:
Si lo que quieres es el conjunto de documentos que si se terminaron, la consulta es más simple:
Código MySQL:
Ver original documentos I
INNER JOIN documentos E
ON I.documento
= E.documento
I.estado = 'ingreso'
AND E.fecha
<'2012-01-23';
El PHP que falta te lo dejo a ti.
Nota: Trata de ser mas técnico en las descripciones. Piensa que los que leen lo que escribes no tienen ni idea de qué es lo que estás programando.