Ver Mensaje Individual
  #1 (permalink)  
Antiguo 07/10/2011, 08:39
tokkaido
 
Fecha de Ingreso: julio-2009
Mensajes: 90
Antigüedad: 14 años, 9 meses
Puntos: 4
filtrar una consulta por el campo de la subquery

Saludos a todos lo que se tomen la molestia de leer este post

Tengo la siguiente consulta: ¿Como puedo filtrar el resultado de una consulta por el valor de la columna de una subquery? me explicare un poco mejor con el siguiente ejemplo:

tengo la siguiente consulta que me funciona bien y me devuelve los datos de los empleados y la fecha de su contrato inicial

Código MySQL:
Ver original
  1. SELECT emp.*,
  2.              (SELECT MIN(ct.fecha_contrato)
  3.               FROM empleados_contratos AS ct
  4.              WHERE ct.id_empleado = emp.id) AS contrato_inicial
  5. FROM empleados AS emp

ahora bien, tengo una barra de herramientas que permite filtrar datos usando de base esta consulta y agregandole los datos en el "WHERE" correspondiente, y aunque funciona bien no puedo hacer referencia al campo contrato_final en el WHERE porque me dice que la columna no existe

es decir si hago esto:

Código MySQL:
Ver original
  1. SELECT emp.*,
  2.              (SELECT MIN(ct.fecha_contrato)
  3.               FROM empleados_contratos AS ct
  4.              WHERE ct.id_empleado = emp.id) AS contrato_inicial
  5. FROM empleados AS emp
  6. WHERE   contrato_inicial BETWEEN '2011-04-01'
  7.             AND '2011-04-30'

como puedo hacer referencia entonces a ese campo o no puedo?

cualquier luz será agradecida
__________________
C[^L*]D
[email protected]
tokkaido.blogspot.com
No hay mejor forma de aprender que enseñar