Consulta rango edad
Publicado por Ariel (1 intervención) el 22/09/2004 19:12:29
Hola, dentro de esta consulta calculo la edad de una persona segun la fecha de naciemiento que tengo en la tabla DATOS:
SELECT * , CURRENT_DATE, ((YEAR(CURRENT_DATE) - YEAR(datos.nacimiento)) - (RIGHT(CURRENT_DATE,5) < RIGHT(datos.nacimiento, 5))) AS 'edad' FROM usuarios LEFT JOIN datos ON usuarios.idUsuario = datos.idUsuario ;
hasta aqui funciona bien pero si agrego un WHERE para que me muestre un rango de edaddes tengo problemas, la consulta que uso es:
SELECT * , CURRENT_DATE, ((YEAR(CURRENT_DATE) - YEAR(datos.nacimiento)) - (RIGHT(CURRENT_DATE,5) < RIGHT(datos.nacimiento, 5))) AS 'edad' FROM usuarios LEFT JOIN datos ON usuarios.idUsuario = datos.idUsuario WHERE ('edad' >= 22) AND ('edad' <= 24) LIMIT 0 , 10
en este caso no me muestra nada y si le agrego ' ' a las edades tampoco, alguien sabe donde esta el problema? Con BETWEEN tampoco me funcionó, pude ser que el alias AS EDAD, no quede como numero?
Desde ya muchas gracias!
Ariel
SELECT * , CURRENT_DATE, ((YEAR(CURRENT_DATE) - YEAR(datos.nacimiento)) - (RIGHT(CURRENT_DATE,5) < RIGHT(datos.nacimiento, 5))) AS 'edad' FROM usuarios LEFT JOIN datos ON usuarios.idUsuario = datos.idUsuario ;
hasta aqui funciona bien pero si agrego un WHERE para que me muestre un rango de edaddes tengo problemas, la consulta que uso es:
SELECT * , CURRENT_DATE, ((YEAR(CURRENT_DATE) - YEAR(datos.nacimiento)) - (RIGHT(CURRENT_DATE,5) < RIGHT(datos.nacimiento, 5))) AS 'edad' FROM usuarios LEFT JOIN datos ON usuarios.idUsuario = datos.idUsuario WHERE ('edad' >= 22) AND ('edad' <= 24) LIMIT 0 , 10
en este caso no me muestra nada y si le agrego ' ' a las edades tampoco, alguien sabe donde esta el problema? Con BETWEEN tampoco me funcionó, pude ser que el alias AS EDAD, no quede como numero?
Desde ya muchas gracias!
Ariel
Valora esta pregunta


0