Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

cláusula mysql AS


Uma maneira de fazer isso é envolver a consulta original como uma subconsulta e mover o WHERE cláusula para a consulta externa:
SELECT * FROM (
  SELECT `candidates`.`candidate_id`, -- this is the original query
     `candidates`.`first_name`, 
     `candidates`.`surname`, 
     `candidates`.`DOB`, 
     `candidates`.`gender`, 
     DATE_FORMAT(NOW(), '%Y') - DATE_FORMAT(`candidates`.`DOB`, '%Y') - (DATE_FORMAT(NOW(), '00-%m-%d') < DATE_FORMAT(`candidates`.`DOB`, '00-%m-%d')) AS `age` 
  FROM `candidates` ) as innertable
WHERE `age` <= 20  -- this is now part of the outer query

esclarecimento:isso funciona no MySQL 5

nota:isso pressupõe que a consulta original funciona