Hola andruxand:
El problema de utilizar subconsultas en la parte del select tal y como lo comenta alexg88 es que las subconsultas deberán de regresar siempre una columna y un registro
Prueba con esto:
Código MySQL:
Ver originalT2.fecha
as fecha_comunicado
,T3.fecha
as fecha_completo
on T1.id_documento
= T2.id_documento
and T2.estado
= 'comunicado' on T1.id_documento
= T3.id_documento
and T3.estado
= 'completo'
Aquí me quedaron algunas dudas con respecto a tu información, por ejemplo, si cada id_documento tiene sólo un registro con estatus comunicado y completo, o es posible que tenga más de un registro, así mismo deberías de decirnos si cada id_documento debe tener los dos estatus, o es posible que tenga solo alguno de ellos. Si es este último caso, deberás utilizar LEFT JOIN's en lugar de los INNER JOIN's. te dejo el script completo que utilicé para hacer pruebas:
Código MySQL:
Ver originale);
Query OK, 0 rows affected (0.44 sec)
-> (1, 'completo', '2011-03-01'),
-> (1, 'comunicado', '2011-03-05'),
-> (2, 'completo', '2011-03-02'),
-> (2, 'comunicado', '2011-03-04'),
-> (3, 'completo', '2010-08-14'),
-> (3, 'comunicado', '2010-12-21');
Query OK, 6 rows affected (0.05 sec)
+--------------+------------+---------------------+
| id_documento | estado | fecha |
+--------------+------------+---------------------+
| 1 | completo | 2011-03-01 00:00:00 |
| 1 | comunicado | 2011-03-05 00:00:00 |
| 2 | completo | 2011-03-02 00:00:00 |
| 2 | comunicado | 2011-03-04 00:00:00 |
| 3 | completo | 2010-08-14 00:00:00 |
| 3 | comunicado | 2010-12-21 00:00:00 |
+--------------+------------+---------------------+
-> T2.fecha
as fecha_comunicado
, -> T3.fecha
as fecha_completo
-> on T1.id_documento
= T2.id_documento
and T2.estado
= 'comunicado' -> on T1.id_documento
= T3.id_documento
and T3.estado
= 'completo'; +--------------+---------------------+---------------------+
| id_documento | fecha_comunicado | fecha_completo |
+--------------+---------------------+---------------------+
| 1 | 2011-03-05 00:00:00 | 2011-03-01 00:00:00 |
| 2 | 2011-03-04 00:00:00 | 2011-03-02 00:00:00 |
| 3 | 2010-12-21 00:00:00 | 2010-08-14 00:00:00 |
+--------------+---------------------+---------------------+